关于Excel导入的问题记录
当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百遍还是报的错。
最后在某处看到一条关于数据链接链接的解释如下:
代码
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' 的设计。它在只读数据库中”等错误,甚至还有提示权限的问题。
于是去掉IMEX=1,问题解决。
于是问题3也产生了:
新建的表默认都排在最后了,无法排在第一个,这样用户打开看到空的就不好,于是drop table xxx---》无效
忽悠下自己是不是方法不对头,上网搜。于是又发现这么段说明:
代码
Deleting data in a linked table is not supported by this ISAM.
这是将 Excel 工作簿作为数据库进行处理时所固有的限制。
于是,想了一个比较搜的主意
在空的Excel里删除两个Sheet(默认有三个,系统限制必须存在一个)
然后将剩下的一个改名叫“xxx说明",在里面写操作说明。
至此,将就解决,还有很多工作排成队在后面......
关于Excel导入的问题记录相关推荐
- 10w 行级别数据的 Excel 导入,完整优化记录
需求说明 项目中有一个 Excel 导入的需求:缴费记录导入 由实施 / 用户 将别的系统的数据填入我们系统中的 Excel 模板,应用将文件内容读取.校对.转换之后产生欠费数据.票据.票据详情并存储 ...
- 10w 行级别数据的 Excel 导入优化记录
点击上方蓝色"方志朋",选择"设为星标"回复"666"获取独家整理的学习资料! 作者 | 后青春期的Keats 来源 | https://w ...
- 10w行级别数据的Excel导入优化记录
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:后青春期的Keats www.cnblogs.com/kea ...
- 4次迭代!10w行级别数据的Excel导入优化记录
点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达今日推荐:2020年7月程序员工资统计,平均14357元,又跌了,扎心个人原创100W+访问量博客:点击前往,查看更多 链接 ...
- Java后端:10w行级别数据的Excel导入优化记录
一些细节 数据导入:导入使用的模板由系统提供,格式是 xlsx (支持 65535+行数据) ,用户按照表头在对应列写入相应的数据 数据校验:数据校验有两种: 字段长度.字段正则表达式校验等,内存内校 ...
- java超级简单到爆的Excel导入导出(easypoi)
场景: 在日常工作中,excel导入导出,是十分常见的,有两种主流的技术,一种是jxl,另一种是poi,而easypoi就是对poi进行了封装,使得导入导出变得更加的简单,阿里巴巴也有封装的工具名叫E ...
- 将 Microsoft Excel 导入至 MySQL
将 Microsoft Excel 导入至 MySQL 一.前言 我得到了一份 Microsoft Excel 表格,里面记录了数据信息需要导入至 SQL 数据库. 如果只是导入数据,当然用 MSSQ ...
- import excel to mysql_将 Microsoft Excel 导入至 MySQL
将 Microsoft Excel 导入至 MySQL 一.前言 我得到了一份 Microsoft Excel 表格,里面记录了数据信息需要导入至 SQL 数据库. 如果只是导入数据,当然用 MSSQ ...
- 重复工作自动化——excel导入方案
计算机与人相比,有什么优势?这个问题从计算机诞生之初就不断被回答:在重复性工作上,计算机有人类无法企及的计算速度和存储空间.因此,把重复性工作交给计算机,也就是常说的"可复用性", ...
最新文章
- python3在线手册_Python 3 手册
- 记一次TrustAnchor with subject异常解决
- Py之PIL:不一样的PS之利用PIL库的img.paste方法实现合成刘若英导演电影《后来的我们》海报设计
- 全国计算机等级考试题库二级C操作题100套(第27套)
- codeforces82 D. Two out of Three(记忆化搜索)
- 一个好用的小工具 thefuck
- python+Django 完成第一个后端项目--创建投票应用(一)
- signature=b21ede5d7e667b061a2058d2d4aba643,【D2D8524B18023CCDD6DBEEF2AB467
- MVC 如何设定默认默认路由为指定的Area下的某个action(笔记)
- EnglishWords——星期与月份
- qrc路径_Qt中的qrc文件
- 【UE4学习】01——UE4下载与安装
- opencv实现图片及视频流(摄像头)的人脸检测
- Excel表格中无法中间插入新行列! 提示:在当前工作表的最后一行或列中,存在非空单元格,解决方案
- 哇!家居环境居然能“可视化”?这守护真的牛
- 【贵州i茅台周年答题--答案】
- python有道字典_Python3基础 访问在线的有道词典
- Python 蜻蜓fm有声书批量下载 支持账号登录 原创源码
- 纽约比加州时间早3个小时
- 计算机应用基础答案2010,计算机基础(Excel2010)试题及答案