POI 读取excel

POI 读取excel,第1张

登录进行投票

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

使用的是NPOI的模组

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

如果要新增一个Excel的Sheet

就要打 "HSSFSheet pdsheet = workbookCreateSheet("My Sheet");"

例如这样的程式码

现在如果我想使用回圈

让他跑出很多个Sheet来

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

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

现在我想问一下

就是如果要用回圈跑

要怎麼让她每次跑

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

例如:

第一次跑:HSSFSheet pdsheet1 = workbookCreateSheet("My Sheet");

第二次跑:HSSFSheet pdsheet2 = workbookCreateSheet("My Sheet");

第三次跑

不晓得要怎麼假设耶

谢谢大家。

下面是回圈内的程式码:

HSSFSheet pdsheet = workbookCreateSheet("My Sheet");

        string content = "", pdName = "";

        int x = 1, y, z;

        string[] pdarray;

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

        SqlConnection pdobjCon = new SqlConnection(WebConfigurationManagerConnectionStrings["loginConnectionString"]ConnectionString);

        pdobjConOpen();

        string pdqs = "SELECT  FROM dboPurchasedetail where Purchase_id = '" + abc + "'";

        SqlDataAdapter pdobjDataAdapter = new SqlDataAdapter(pdqs, pdobjCon);

        SqlConnection pdSql_Conn = new SqlConnection(WebConfigurationManagerConnectionStrings["loginConnectionString"]ConnectionString);

        string pdSqlString = "Select  From dboPurchasedetail where Purchase_id = '" + abc + "'";

        pdSql_ConnOpen();

using (SqlCommand pdSql_Command = new SqlCommand())

        {

          SqlDataReader pdSql_Reader;

          pdSql_CommandConnection = pdSql_Conn;

          pdSql_CommandCommandText = pdSqlString;

          pdSql_Reader = pdSql_CommandExecuteReader();

          DataTable pdschemaTable = pdSql_ReaderGetSchemaTable();

          DataRow pddataRow;

          z = (int)pdschemaTableRowsCount;

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

          {

            pddataRow = pdschemaTableRows[y];

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

            pdName += "\t\n";

          }

          pdSql_CommandDispose();

          pdSql_ReaderClose();

          pdSql_ReaderDispose();

        }

        pdSql_ConnClose();

        pdarray = pdNameSplit(pdtable, StringSplitOptionsNone);

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

        {

          pdsheetCreateRow(0)CreateCell(y)SetCellValue(pdarray[y]);

        }

DataSet pdobjDataSet = new DataSet();

        pdobjDataAdapterFill(pdobjDataSet, "pd");

        DataTable pddt = pdobjDataSetTables[0];

        foreach (DataRow pdrow in pddtRows)

        {

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

          {

            pdsheetCreateRow(x)CreateCell(y)SetCellValue(pdrow[pdarray[y]]ToString());

          }

          x++;

        }

HSSFSheet pdsheet = workbookCreateSheet("My Sheet");      <--

这句也在回圈内吗?

改成这样看看

HSSFSheet pdsheet = workbookCreateSheet("My Sheet" + 回圈次数);

看你代码可不是循环创建相同的sheet么,传参都是一样的。一般创建sheet不用写循环吧,有几个sheet页不是也知道吗,何况你也说了,sheet的内容是不一样的。如果你循环创建的sheet,劝你创建的对象名也要不一样,要不让你怎么获取对应的sheet,怎么再创建row,cell

以上就是关于POI 读取excel全部的内容,包括:POI 读取excel、用javaPOI包的方法获取excel中的行列号、请看下下面代码,Java导出excel cell.setCellValue()这个方法怎么不让用了 用什么方法设置单元格的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9612039.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存