当前位置: 首页 > 知识库问答 >
问题:

NPOI使xlsx文件一团糟

居京
2023-03-14

我有以下代码要写入现有的XLSX文件

FileStream file = new FileStream(bestand, FileMode.Open, FileAccess.ReadWrite);
string ext = Path.GetExtension(bestand).ToLower();

if (ext == ".xls")
{
    wb = new HSSFWorkbook(file);
}
else if (ext == ".xlsx")
    wb = new XSSFWorkbook(file);

ISheet ws = wb.GetSheet(Maanden[maand-1]);

ws.GetRow(colum).GetCell(rij++).SetCellValue(huidigedatum);
ws.GetRow(colum).GetCell(rij++).SetCellValue(Datarow["Factuurnummer"].ToString());
ws.GetRow(colum).GetCell(rij++).SetCellValue(Datarow["Omschrijving"].ToString());
ws.GetRow(colum++).GetCell(tbBank-1).SetCellValue((double)totaal);

WriteToFile(bestand);
private void WriteToFile(string bestand)
{
    //Write the stream data of workbook to the root directory
    FileStream file = new FileStream(bestand, FileMode.Create);
    wb.Write(file);
    pBar.PerformStep();
    file.Close();
}

使用XLS文件,效果非常好。

请帮忙。

你好,雷纳多

共有1个答案

陆文斌
2023-03-14

我认为错误是一致的

ISheet ws = wb.GetSheet(Maanden[maand-1]);

您必须用正确的excel文件类型键入工作表对象

尝试

ISheet ws;
   if (ext == ".xls")
   {
    wb = new HSSFWorkbook(file);
    ws = (HSSFSheet)wb.GetSheet(Maanden[maand-1]);
   }
   else if (ext == ".xlsx")
   { 
      wb = new XSSFWorkbook(file);
      ws = (XSSFSheet)wb.GetSheet(Maanden[maand-1]);
   }
 类似资料:
  • 我有一段代码,目前正在写入一个

  • 我正在编写一个程序来处理一些excel文档,该程序是在Visual Studio 2010中用C语言编写的,我正在使用NPOI库。 我注意到我不能对xlsm文件使用CloneSheet(),但我可以使用xlsx。 是我在这个过程中真正需要的一个函数,所以我真的希望它能正常工作,而不是一个单元格一个单元格地复制所有内容。 我想过将文件转换为xlsx。我能够手动完成,但不能以编程方式完成。 这是我试图

  • 在这件事上有困难。。。 使用XLS,一切都能100%正常工作(我在我的ASP.NET应用程序上使用NPOI): 需求发生了变化,新的Excel模板使用了XLSX的功能,因此它现在是<代码>模板。xlsx。我一直在使用NPOI 2.0,我看到它支持XLSX(使用XSSF而不是HSSF)。我这样更改了代码(这里只显示了差异-其他内容都是一样的): 在工作簿的第行抛出异常。写入(ms) : 我可能做错了

  • 我需要帮助在阅读xlsx文件,也使用密码解锁,正如上面所做的。

  • 当我试图从一个XSLX文件获取单元格背景颜色并将此颜色设置为另一个XSLX文件的单元格背景时,我遇到了一个问题。 输入和输出文件都是2007(XLSX)格式(输入文件是用MS Excel2010创建的)。 1)获得与我在Excel中看到的不同的颜色。而不是 2)如果执行这使我想到可以通过为XSSFColor对象设置一些添加属性来解决propblem问题,比如或其他属性。 我的Maven项目可以从这

  • NPOI 是 POI 项目的 .NET 版本。POI是一个开源的Java读写Excel、WORD等微软OLE2组件文档的项目。 使用 NPOI 你就可以在没有安装 Office 或者相应环境的机器上对 WORD/EXCEL 文档进行读写。 NPOI由Neuzilla创建并维护,欢迎去领英关注Neuzilla