Я использую 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 я открываю файл Excel в Office Excel, а затем сохраняю его с тем же самым расширением .xls, перезаписывая его, а после этого запускаю консольное приложение, тогда приложение работает нормально, без ошибок.
Итак, что бы я хотел сделать: с кодом C#, откройте файл и сохраните его и перезапишите, чтобы приложение могло успешно прочитать файл.
Я предполагаю, что я мог бы открыть файл так:
File.OpenWrite(file_path);
Но как я мог перезаписать файл?
Где вы получаете исходный файл из? Возможно ли, что это действительно не действительный файл Excel «xls», а другой формат файла с расширением «xls»? –
Файл excel создается другой программой, поэтому он генерируется как файл excel. – pyram
Не настаивать на этом, но вы уверены? Многие веб-приложения (например) будут генерировать файлы «xls», которые являются не более чем таблицей HTML, если вы посмотрите на контент. Excel открывает их отлично, но другие приложения могут захлебываться в этом формате. –