关于Excel导入的问题记录
来源:互联网 发布:uefi双硬盘安装ubuntu 编辑:程序博客网 时间:2024/06/05 06:41
当Excel导入成为需要时,之前的导出Excel为html方式的方法就受阻了,于是,需要开始新的百度与google来解决问题。
前提为OLEDB+Excel。
根据需求,多数是对于表的数据的导入。于是产生这么一个需求过程:
1。准备一个空的标准Excel。
2。根据表名查询字段
3。动态生成字段表头
4。Copy空的标准Excel,循环表头生成新的标准Excel以二进制流导出。
5。用户再根据表头的提示添加数据再上传提交。
(1步和4步为大体上为网上搜出来的想法)
过程遇到这么点问题:
问题1:
网上1步和4步的想法,是先做好标准Excel,直接导出。所以代码上用的insert into table直接往表添加数据了。
于本人的需求有点差距了,异常折腾了半天才折腾到用了Create Table。于是引发了第二个问题:
问题2:
在为Excel Create Table 时,报“不能修改表'xxxx' 的设计。它在只读数据库中”,经自己这么一想,再经网上那么一忽悠。权限问题!。for遍了网络,都直指这个权限问题。
于是就是一堆的往文件夹添加IUser_用户名或EveryOne权限的解决方案,是挺折磨人的,检查了N百遍还是报的错。
最后在某处看到一条关于数据链接链接的解释如下:
代码
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->如果把Excel看作数据库,那么要注意连接字符串:
private readonly string readConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +"Data Source={0};"
+"Extended Properties='Excel 8.0;HDR=YES;IMEX=1;'";
HDR=YES 表示将sheet的第一行作为列名,所以我们默认excel的首行是列名。
IMEX=1 表示大致的意思是使用导入的模式,把数字也作为字符串来操作。
有一点很重要。IMEX=1,是一种导入的模式,所以首先这个文件要存在,如果不存在会报错:“Microsoft Jet 数据库引擎找不到对象'…\Customer.xls'。请确定对象是否存在,并正确地写出它的名称和路径”,而且这样写了以后就算文件是存在的,还有一个问题是不能对文件更新的,会提示“不能修改表 'sheet1' 的设计。它在只读数据库中”等错误,甚至还有提示权限的问题。
- 关于Excel导入的问题记录
- 关于Excel导入的问题记录
- 记录一下poi导入excel的问题
- 关于导入Excel问题
- 关于Excel数据导入Mysql的问题
- 关于excel导入sql2005里面的问题
- 关于navicat导入excel的问题
- 关于mysql数据库导入excel的问题
- 关于Excel导入功能的细节问题
- 关于excel的导入
- 关于导入excel问题讨论
- 今天遇到的关于Excel导入出错的问题
- 关于java poi导入导出excel的包冲突问题
- 关于navicat导入excel乱码问题 postgresql
- 关于Java导入excel表格出现下标越界异常的解决方法(个人心得记录)
- Excel导入的相关问题
- 导入EXCEL遇到的问题
- .net 的Excel导入问题
- java JList 添加数据后,如何更新啊
- Boost.smart_ptr.shared_ptr--2
- Delphi 中的自定义类笔记
- 经典Sql面试题收集!!
- 文件选择对话框filedialog,OpenFileDialog,FolderBrowserDialog
- 关于Excel导入的问题记录
- Java 中的堆和栈
- 嵌套For循环性能优化案例
- jsp生成的java在work目录下
- 移动项目必知必会——打包ipa时的真机尺寸
- JAVA基础篇之枚举
- Oracle学习复习笔记
- Socket编程
- codeforces 55D Beautiful numbers