我正在使用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
我该怎么做才能解决此错误?
答案 0 :(得分:5)
我使用从excel导入的插件遇到了同样的错误。最初我将导入文件保存为.xls。
我打开了这个Excel电子表格,重新保存为.xlsx。
这解决了这个问题。
所以也许是csv保存为的文件格式。
答案 1 :(得分:1)
我在读取xls文件时遇到同样的错误。事实证明,工作簿在第一张表上有隐藏的行。我检查了文档并删除了隐藏的行,它完美地运行了