我使用visual studio 2008在c#上創建控制檯應用程序。用代碼覆蓋excel文件
應用程序「讀取」一個excel文件97-2003(.XLS)。
我使用噴氣讀取文件:
OleDbConnection oConn = new OleDbConnection();
oConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " + file_path + " ;Extended Properties=\"Excel 8.0;HDR=No;IMEX=1\";";
但運行的程序,我得到錯誤,當「外部表不是預期的格式。」
我曾嘗試閱讀的Excel與NPOI庫文件,我得到了錯誤:
消息=「無效頭標識;閱讀0x0010000000060809,預計0xE11AB1A1E011CFD0」
所以,它就像該文件是無效某種方式。
如果通過Windows打開Office Excel上的excel文件,然後用相同和相同的擴展名.xls覆蓋它,然後運行控制檯應用程序,然後應用程序運行正常,沒有錯誤。
所以,我想這樣做是:用C#代碼,打開文件並保存,並覆蓋它,這樣應用程序可以成功讀取文件。
我想我可以打開這樣的文件:
File.OpenWrite(file_path);
但我怎麼能覆蓋該文件?
你從哪裏得到的源文件?是否有可能它不是一個真正有效的Excel「xls」文件,而是其他一些帶有「xls」擴展名的文件格式? –
excel文件由另一個程序生成,所以它生成爲excel文件。 – pyram
不要按這一點,但你確定嗎?如果您查看內容,許多Web應用程序(例如)將生成「xls」文件,這些文件不過是HTML表格。 Excel可以打開它們,但其他應用程序可能會阻塞該格式。 –