有人可以帮我解决这个错误吗? 我试图使用EPPlus保存excel文件
[IOException: The process cannot access the file 'C:\Users\Julian\Downloads\EmployeeMaster.xls' because it is being used by another process.]
这是我的代码:
Dim conn As New ConnectionVB
Dim newfile As FileInfo = NewFileInfo("C:\\Users\\Julian\\Downloads\\EmployeeMaster.xls")
Using p As ExcelPackage = New ExcelPackage(newfile)
SetWorkBookProperties(p)
conn.connect()
Dim ws As ExcelWorksheet = CreateSheet(p, "EmnployeeMaster")
Dim dt As New DataTable
Dim connString As String
connString = "Select * from EmployeeMaster"
dt = conn.openDataTable(connString)
Dim rowIndex As Integer
rowIndex = 2
CreateHeader(ws, rowIndex, dt)
CreateData(ws, rowIndex, dt)
Dim bin As Byte()
bin = p.GetAsByteArray()
Dim path As String
path = "C:\\Users\\Julian\\Downloads\\EmployeeMaster.xls"
File.Delete("C:\\Users\\Julian\\Downloads\\EmployeeMaster.xls")
Dim stream As Stream = File.Create(path)
File.WriteAllBytes(path, bin) <- I got the error here
Start(path)
stream.Close()
End Using
使用此错误推荐所有帮助/建议
关心Siekh
答案 0 :(得分:0)
从错误显示开始:另一个进程正在使用EmployeeMaster.xls文件。
您的代码DryRun:
在您的EmployeeMaster.xls文件中,您将另一个新工作表名称设置为EmnployeeMaster,然后在此工作表中创建Header和Data。 写入文件时出现问题。你必须通过这样做来保存WorkSheet。 因为只需在EPPlusPackage的帮助下打开你的.xls文件,然后通过代码在.xls文件中添加自定义工作表,然后保存。
p.Save(); // you need to save this temporary sheet.
问题可能是:
为什么删除文件。 解决方案:您可以重命名然后移动。
当您为ExcelPackage实例化对象时,EPPlus会保留您的文件(使用相同的路径)
答案 1 :(得分:0)
两个问题: