vs c#中如何引用npoi

vs c#中如何引用npoi,第1张

NPOI 是开源的 POI 项目的.NET版,可以用来读写Excel,Word,PPT文件。在处理Excel文件上,NPOI 可以同时兼容 xls 和 xlsx。

NPOI使用HSSFWorkbook类来处理xls,XSSFWorkbook类来处理xlsx,它们都继承接口IWorkbook,因此可以通过IWorkbook来统一处理xls和xlsx格式的文件。

public void ReadFromExcelFile(string filePath)

{

    IWorkbook wk = null

    string extension = System.IO.Path.GetExtension(filePath)

    try

    {

        FileStream fs = File.OpenRead(filePath)

        if (extension.Equals(".xls"))

        {

            //把xls文件中的数据写入wk中

            wk = new HSSFWorkbook(fs)

        }

        else

        {

            //把xlsx文件中的数据写入wk中

            wk = new XSSFWorkbook(fs)

        }

    

        fs.Close()

        //读取当前表数据

        ISheet sheet = wk.GetSheetAt(0)

    

        IRow row = sheet.GetRow(0)  //读取当前行数据

        //LastRowNum 是当前表的总行数-1(注意)

        int offset = 0

        for (int i = 0 i <= sheet.LastRowNum i++)

        {

            row = sheet.GetRow(i)  //读取当前行数据

            if (row != null)

            {

                //LastCellNum 是当前行的总列数

                for (int j = 0 j < row.LastCellNum j++)

                {

                    //读取该行的第j列数据

                    string value = row.GetCell(j).ToString()

                    Console.Write(value.ToString() + " ")

                }

                Console.WriteLine("\n")

            }

        }

    }

        

    catch (Exception e)

    {

        //只在Debug模式下才输出

        Console.WriteLine(e.Message)

    }

}

这里可以直接在vs程序中引入Spire.Xls.dll这一个dll程序集文件就可以实现数据的导入导出了。可以直接在NuGet中搜索安装,以下是导入excel数据到datatable的代码方法:

//创建Workbook对象并加载Excel文档

Workbook workbook = new Workbook()workbook.LoadFromFile(@"F:\ExportData.xlsx" ,ExcelVersion.Version2013)

//获取第一张

sheetWorksheet sheet = workbook.Worksheets[0]

//设置range范围

CellRange range = sheet.Range[sheet.FirstRow, sheet.FirstColumn, sheet.LastRow, sheet.LastColumn]

//输出数据, 同时输出列名以及公式值

DataTable dt = sheet.ExportDataTable(range, true, true)

这个问题是因为,楼主在Nuget管理器中,升级了SharpZipLib这个Nuget包到1.0版,NPOI原来用的库是0.86版,还原该包到 0.86版就好了,和NPOI 2.3无关。不过要彻底解决问题,还是需要NPOI升级Nuget包,并修改OpenXml4Net库的属性,或SharpZipLib修改函数属性。


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

原文地址:https://54852.com/bake/11726859.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存