C# 对 excel 数据操作时,数据丢失。

C# 对 excel 数据操作时,从excel一列既有数据又符号”-”中读取时,读出来的表格一些"-"会丢失,导致该列某些空格是空白的,请问该怎样处理

将EXCEL数据导出的时候如果同一列数据中既有文字,又有数字!读取时一列中要么文字丢失只剩下数字,要么数字丢失,只剩下文字,这是由第一行的数据类型决定的。出现这种问题是由于数据类型不统一造成的。

原来的连接字符串为:

string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Path + "; Extended Properties=Excel 8.0;";

查阅资料后问题解决:

string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Path + ";Extended Properties='Excel 8.0;IMEX=1;HDR=YES';";

加的参数解释:

IMEX=1 解决数字与字符混合时,识别不正常的情况

HDR=YES 有两个值:YES/NO,表示第一行是否字段名,默认是YES,第一行是字段名

https://blog.csdn.net/Bear_861110453/article/details/52945465

设置单元格值得时候设置一下单元格的格式cell.CellStyle,使用NPOI创建Excel比较慢,建议将每个单元格的值用逗号分开,保存成csv格式的文件,这样速度就会很快。

看你用什么读取了,微软自带得方法还是第三方引用,推荐使用aspose.cells.dll .无论读取还是写入都是很方便得。