上海启嘟渡科技商贸有限公司
SEARCH

与我们合作

我们专注提供互联网一站式服务,助力企业品牌宣传多平台多途径导流量。
主营业务:网站建设、移动端微信小程序开发、营销推广、基础网络、品牌形象策划等

您也可通过下列途径与我们取得联系:

微 信: wxyunyingzhe

手 机: 15624122141

邮 箱:

如何用NPOI建立EXCEL的多个SHEET

更新时间:2025-01-09 17:53:03

我要用网页做一个把资料库档案输出成EXCEL的网页

使用的是NPOI的模组

而NPOI里面的模组有一个新增SHEET的 "HSSFSheet"

如果要新增一个Excel的Sheet

就要打 "HSSFSheet pdsheet = workbook.CreateSheet("My Sheet");"

例如这样的程式码

现在如果我想使用回圈

让他跑出很多个Sheet来

可是他都会说 "The workbook already contains a sheet of this name"

应该是说已经有用过pdsheet这个的名称了

现在我想问一下

就是如果要用回圈跑

要怎麼让她每次跑

都可以跑出不一样的sheet名称

例如:

第一次跑:HSSFSheet pdsheet1 = workbook.CreateSheet("My Sheet");

第二次跑:HSSFSheet pdsheet2 = workbook.CreateSheet("My Sheet");

第三次跑...

不晓得要怎麼假设耶

谢谢大家。

下面是回圈内的程式码:

HSSFSheet pdsheet = workbook.CreateSheet("My Sheet");

string content = "", pdName = "";

int x = 1, y, z;

string[] pdarray;

string[] pdtable = new string[] { "\t\n" };

SqlConnection pdobjCon = new SqlConnection(WebConfigurationManager.ConnectionStrings["loginConnectionString"].ConnectionString);

pdobjCon.Open();

string pdqs = "SELECT * FROM dbo.Purchasedetail where Purchase_id = '" + abc + "'";

SqlDataAdapter pdobjDataAdapter = new SqlDataAdapter(pdqs, pdobjCon);

SqlConnection pdSql_Conn = new SqlConnection(WebConfigurationManager.ConnectionStrings["loginConnectionString"].ConnectionString);

string pdSqlString = "Select * From dbo.Purchasedetail where Purchase_id = '" + abc + "'";

pdSql_Conn.Open();

using (SqlCommand pdSql_Command = new SqlCommand())

{

SqlDataReader pdSql_Reader;

pdSql_Command.Connection = pdSql_Conn;

pdSql_Command.CommandText = pdSqlString;

pdSql_Reader = pdSql_Command.ExecuteReader();

DataTable pdschemaTable = pdSql_Reader.GetSchemaTable();

DataRow pddataRow;

z = (int)pdschemaTable.Rows.Count;

for (y = 0; y <= z - 1; y++)

{

pddataRow = pdschemaTable.Rows[y];

pdName += pddataRow["ColumnName"].ToString();

pdName += "\t\n";

}

pdSql_Command.Dispose();

pdSql_Reader.Close();

pdSql_Reader.Dispose();

}

pdSql_Conn.Close();

pdarray = pdName.Split(pdtable, StringSplitOptions.None);

for (y = 0; y <= z - 1; y++)

{

pdsheet.CreateRow(0).CreateCell(y).SetCellValue(pdarray[y]);

}

DataSet pdobjDataSet = new DataSet();

pdobjDataAdapter.Fill(pdobjDataSet, "pd");

DataTable pddt = pdobjDataSet.Tables[0];

foreach (DataRow pdrow in pddt.Rows)

{

for (y = 0; y <= z - 1; y++)

{

pdsheet.CreateRow(x).CreateCell(y).SetCellValue(pdrow[pdarray[y]].ToString());

}

x++;

}

谢谢大家 :)

多重随机标签

猜你喜欢文章

QQ客服 电话咨询