我正在使用EPPlus读取 vb.net 中的.csv文件。当我运行此代码时,我收到错误"写入操作期间发生磁盘错误。
(HRESULT的例外:0x8003001D(STG_E_WRITEFAULT))"
这是我的代码:
Public Function ImportExcelSheet(ByVal filePath As String) As DataTable
Dim dtImportData As New DataTable()
Try
'If csv file have header then "true" else "false"
Dim hasHeader As Boolean = True
Using pck = New OfficeOpenXml.ExcelPackage()
Using stream = File.OpenRead(filePath)
pck.Load(stream)
End Using
我应该怎么做才能修复此错误?
我创建的用于从 excel 导入的插件也遇到了同样的错误。最初我将导入文件保存为.xls。
我打开了这个 excel 电子表格并重新保存为.xlsx。
这解决了问题。
所以也许是csv被保存为的文件格式。
我在读取 xls 文件时遇到同样的错误。事实证明,工作簿在第一张纸上有隐藏的行。我检查了文档并删除了隐藏的行,它运行良好