Mensen,
ik probeer in een AutoCAD add-in een Excel bestand in een filestream in te lezen om vervolgens de data weer te geven. Maar wat ik ook probeer ik blijf een IO Error ontvangen dat het bestand al in gebruik is.
reeds geprobeerd
Hieronder de code zoals ik deze nu in een verder leeg project heb staan om andere zaken uit mijn tool uit te sluiten, echter met dezelfde melding tot gevolg.
Ter info de volledige Exception melding
Wat zie ik over het hoofd?
ik probeer in een AutoCAD add-in een Excel bestand in een filestream in te lezen om vervolgens de data weer te geven. Maar wat ik ook probeer ik blijf een IO Error ontvangen dat het bestand al in gebruik is.
reeds geprobeerd
- Het bestand voor openen in progje geopend in Excel, geen melding over read-only, bestand en Excel netjes afgesloten
- Bestand op een andere schijf geplaatst
- Pad naar bestand hardcoded opgenomen
Hieronder de code zoals ik deze nu in een verder leeg project heb staan om andere zaken uit mijn tool uit te sluiten, echter met dezelfde melding tot gevolg.
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim dlgFileOpen As OpenFileDialog = New OpenFileDialog() Dim sFileInput As String If dlgFileOpen.ShowDialog() = DialogResult.OK Then sFileInput = dlgFileOpen.FileName Else Exit Sub End If 'read xlsx file TextBox1.Text = "sFileInput: " & sFileInput & vbCrLf 'IO Error op onderstaande regel Dim fs = New FileStream(sFileInput, FileMode.Open, FileAccess.Read) TextBox1.AppendText("Bestand geopend" & vbCrLf) end sub |
Ter info de volledige Exception melding
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| ************** Exception Text ************** System.IO.IOException: The process cannot access the file 'K:\Test Data\meting-01.xlsx' because it is being used by another process. at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share) at System.IO.File.Open(String path, FileMode mode, FileAccess access) at AnkerMeting.UCmain.Button1_Click(Object sender, EventArgs e) in K:\Documenten\Visual Studio 2015\Projects\FileStreamTest\UCmain.vb:line 21 at System.Windows.Forms.Control.OnClick(EventArgs e) at System.Windows.Forms.Button.OnClick(EventArgs e) at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ButtonBase.WndProc(Message& m) at System.Windows.Forms.Button.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) |
Wat zie ik over het hoofd?