【发布时间】:2018-09-07 15:21:37
【问题描述】:
我目前有一个将.CSV 上传到DataTable 对象的工作流程。
从那里,我在 SQL 中有一个自定义的 DataTable 数据类型,以及一个存储过程,用于将传入的数据类型中的所有内容插入到 SQL 中的真实表中。
一切正常,数据被上传,唯一的问题是每隔一行,都是一行完全 NULL 值。电子表格之间没有空白行,但在某些情况下,列可能没有值。
是否有人对如何解决此问题或将我的 csv 导入 DataTable 的更好方法有任何建议或帮助?每次有人运行并保存的 oracle 查询时,该文件都会生成为 .CSV。
代码:
public static DataTable GetDataFromFile(string filePath)
{
Workbook book = new Workbook();
book.LoadFromFile(@"" + filePath, ",");
DataTable table = book.Worksheets[0].ExportDataTable();
return table;
}
编辑了问题,上面的代码在 .CSV 中添加了空行,或者 Excel 中有隐藏的换行符我看不到,我该如何修复这些空白行被添加。
【问题讨论】:
-
仔细检查电子表格是否有额外的行尾字符 char() 这可能会导致额外的空白数据行。
-
我该怎么做?最后一列是日期,但我看不到值中的换行符。当我将它放入 dgv 时,我将很快看到它的样子
-
我使用像 Notepad++ 或programmers_notepad 这样可以显示行尾字符() 的文字编辑器。在 DataGridView 中查看数据也是一个好主意。
-
是的,它仍然会出现,所以它一定是电子表格。我试过你说的,每一行都以
09-JUL-18 05.15.10.000000000 PM结尾,没有引号也没有逗号。是否有一个奇怪的原因我不知道在 excel 或 csv 中发生这种情况 -
刚刚发现我可以从 oracle 中导出为 Xlsx 文件 可能不得不这样做,尽管这很不幸