关于excel导入导出问题 sheet 名字带上 ' ' 单引号试试 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 最好改变一下sheet命名方式阿 因为这是客户从供应商的系统下载的excel文档,所以更改sheet的方式行不通,一份excel有十几个sheet,其中带连字符"-"的至少7个。 用这个GetOleDbSchemaTable函数先返回架构信息。在读取表名试一下。。 NPOI的缺陷是导入的excel必须格式是excel,现在客户导入的文件有从xml强转成xls的。我已经解决了这个问题。 http://www.cnblogs.com/lwme/archive/2011/11/18/npoi_excel_import_export.html IWorkbook workbook = new HSSFWorkbook(stream);//从流内容创建Workbook对象 ISheet sheet = workbook.GetSheetAt(0);//获取第一个工作表,不需要表名 IRow row = sheet.GetRow(0);//获取工作表第一行 ICell cell = row.GetCell(0);//获取行的第一列 string value = cell.ToString();//获取列的值 目前采用的这种方法,已经解决了。我是先单独调试打开一个xls文件,看看sheet是否有问题,使用select * form [A-B$]就可以打开了。 谢谢大家的热心帮忙,这个问题已经解决了。具体的解决方案思路如下:1、根据程序抛出的异常来排查问题,具体问题具体分析;2、排查excel导入异常,可采用单独一条语句来读取excel,先绕开系统的业务;3、在数据库里采用JET或ACE引擎打开excel,文件必须与数据库在同一台机器上,如果打开excel是在程序里,则数据库无关远程或本地,数据库打开excel的好处是sql语句读写方便,程序打开Excel则是后续可支持数据库与程序独立存放(多服务器),主要还是根据业务来;4、这次解决的方法:select * from OpenRowSet('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;HDR=Yes;IMEX=1;Database=D:\97-2003.xls', 'select * from [Sheet1$]')参考链接:http://www.cnblogs.com/chencidi/archive/2011/11/19/2255359.html这哥们总结的很全,基本方式都已经有了。以上,供后来遇到此问题者参考,谢谢大家的帮忙了。 c# 如何通过winAPI 模拟循环 选中 现成软件中ListView的每一行 请问这代码什么意思? c#字符串截取问题 解释这些正则表达式的意思 C#中主键自动增长的问题请高手帮小弟解决,在线等待 WPF vs WinForm 多线程UI跟新问题 数据太大下载不下来(程序未响应),谁能帮我加一个异步操作 在VC中获取要素的个数 KTV项目 .net软件开发平台? 输入字符串的格式不正确 批量WebClient操作时的性能问题
因为这是客户从供应商的系统下载的excel文档,所以更改sheet的方式行不通,一份excel有十几个sheet,其中带连字符"-"的至少7个。
NPOI的缺陷是导入的excel必须格式是excel,现在客户导入的文件有从xml强转成xls的。我已经解决了这个问题。
ISheet sheet = workbook.GetSheetAt(0);//获取第一个工作表,不需要表名
IRow row = sheet.GetRow(0);//获取工作表第一行
ICell cell = row.GetCell(0);//获取行的第一列
string value = cell.ToString();//获取列的值
目前采用的这种方法,已经解决了。我是先单独调试打开一个xls文件,看看sheet是否有问题,使用select * form [A-B$]就可以打开了。
2、排查excel导入异常,可采用单独一条语句来读取excel,先绕开系统的业务;
3、在数据库里采用JET或ACE引擎打开excel,文件必须与数据库在同一台机器上,如果打开excel是在程序里,则数据库无关远程或本地,数据库打开excel的好处是sql语句读写方便,程序打开Excel则是后续可支持数据库与程序独立存放(多服务器),主要还是根据业务来;
4、这次解决的方法:
select * from OpenRowSet('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;HDR=Yes;IMEX=1;Database=D:\97-2003.xls', 'select * from [Sheet1$]')参考链接:http://www.cnblogs.com/chencidi/archive/2011/11/19/2255359.html这哥们总结的很全,基本方式都已经有了。
以上,供后来遇到此问题者参考,谢谢大家的帮忙了。