[C#新手入门 九] C#读取Excel表中的数据时,有的数据读取不到
来源:互联网 发布:radio flyer淘宝 编辑:程序博客网 时间:2024/05/29 03:58
今天把程序发布到服务器IIS后,运行发现一个问题,有的excel导入模板出现导入数据丢失,某列第一行是空白没有值,后面是数字类型的数据,导入时整列值后变成空白了。
导入的方式是在客户机选择Excel导入模板,上传到服务器,在服务器上执行读取Excel,数据写入数据库。
解决方案百度搜的如下:
注册表修改内容如下:在HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\4.0\Engines\Excel有一个TypeGuessRows值,预设是8, 将其改为0 就OK了。
http://bbs.csdn.net/topics/360220285
1、当某列数据中含有混合类型时,在.NET中使用Microsoft.Jet.OLEDB.4.0来读取Excel文件造成数据丢失是不可避免的,要解决这个问题只能考虑采用其它数据读取方法。
2、在.NET中读取Excel文件的另外一种方法是回到使用传统COM组件,但使用COM组件来读取Excel文件数据的效率较低,在作释放的时候有可能碰到不可预知的错误,特别开发Web应用的程序应该慎重使用
3、一种有效的方法可以是,在读取Excel的.xls类型的文本数据之前,先将其转换为.csv格式,在Excel中直接另存为这种格式就可以达到转换的目的。CSV文件又称为逗号分隔的文件,是一种纯文本文件,它以“,”分隔数据列
4、对csv文件不要采用ole db或odbc方法读取,这样还会出现同样问题。要采用普通的读取文本文件的方法打开文件,读取第一行,用“,”作为分隔符获得各字段名,在DataTable中创建对应的各字段,字段的类型可以统一创建成“string”。
参考代码(demo)如下:
String line; String [] split = null; DataTable table=new DataTable("auto"); DataRow row=null; StreamReader sr=new StreamReader("c:/auto.csv",System.Text.Encoding.Default); //创建与数据源对应的数据列 line = sr.ReadLine(); split=line.Split(','); foreach(String colname in split){ table.Columns.Add(colname,System.Type.GetType("System.String")); } //将数据填入数据表 int j=0; while((line=sr.ReadLine())!=null){ j=0; row = table.NewRow(); split=line.Split(','); foreach(String colname in split){ row[j]=colname; j++;} table.Rows.Add(row);} sr.Close(); //显示数据 dataGrid1.DataSource=table.DefaultView; dataGrid1.DataBind();
- [C#新手入门 九] C#读取Excel表中的数据时,有的数据读取不到
- C#读取Excel表中的数据时,为何有些行的字段内容读取不到
- C#读取Excel表中的数据时,有些字段内容读取不到的解决办法
- C# ado读取Excel 读不到数据
- C#读取excel中的数据
- C# 读取Excel中的数据
- C#读取Excel中的数据
- C#读取Excel数据
- C#读取Excel数据
- C#读取Excel数据
- C#读取Excel数据
- C#读取Excel数据
- C#读取Excel数据
- C#读取Excel数据
- C#读取Excel数据
- C#读取Excel数据
- C#读取EXCEL数据
- C#读取Excel数据
- 父DIV padding和子DIV margin
- JSON
- MySQL使用SELECT...INTO OUTFILE导出文本文件
- Yii 如何在ActiveRecord自动化记录时间戳
- Java NIO 系列教程
- [C#新手入门 九] C#读取Excel表中的数据时,有的数据读取不到
- Making Fabric Play Nice with RubyMotion
- Okio简化处理I/O操作原理
- android:强大的图片下载和缓存库Picasso
- odoo config配置信息
- 一元多项式相加(C语言实现)
- python 变量
- MFC中绘制动态曲线
- 《python》学习笔记(Day1),创建python发布