注册 登录
编程论坛 C# 论坛

NPOI导入Excel文件程序报错,请指点,多谢.

cfab 发布于 2017-02-09 20:41, 2673 次点击
请教,欲使用NPOI导入Excel文件,头部引用和代码如下.代码报错...请指点下报错原因是什么,非常感谢.
错误        CS1503        参数 1: 无法从“string”转换为“NPOI.HSSF.Model.InternalWorkbook”   
环境  vs2015     

程序代码:
using System;
using using System.Windows.Forms;
using System.Data.SQLite;
using using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using NPOI.HSSF.UserModel;

public System.Data.DataTable ExcelUp(string excelName)
        {
            string filePath = excelName;//读取excel文件路径;

            
//打开Excel文件,取得Sheet名
            if (filePath.IndexOf(".xlsx") > 0) // 2007版本
            {
                XSSFWorkbook workbook = new XSSFWorkbook(filePath);
            }
            else if (filePath.IndexOf(".xls") > 0) // 2003版本
            {
                HSSFWorkbook workbook = new HSSFWorkbook(filePath);  //此处报错
            }

            System.Data.DataTable dt = GetDataTable("Sheet1", filePath);

            return dt;

        }
2 回复
#2
hzzasdf2017-02-09 23:47
错误信息的意思是HSSFWorkbook需要一个NPOI.HSSF.Model.InternalWorkbook类型的参数,看看这个构建函数是否有其他声明格式。
#3
moridiansha2017-02-14 17:02
npoi应该有工厂方法,不用你来判断打开的是07版本还是03版本
然后不知道你的GetDataTable()里是什么,但是workbook这个实例里可以直接拿到sheet,然后可以把sheet转成datatable
1