Неверный формат документа Excel - PullRequest
0 голосов
/ 19 мая 2009

У меня есть рабочая книга с макросами, и я меняю имя файла .xlsm на [FileName] .xlsm.zip, а затем распаковываю, получаю несколько папок Затем я помещаю эти извлеченные папки в другую папку и заархивирую ее обратно, чтобы изменить расширение на предыдущий формат xlsm, который я сейчас пытаюсь открыть, но получаю нечитаемую ошибку. Я не изменяю здесь никакого контента, просто извлекаю и заархивирую его обратно. В чем может быть проблема?

Ответы [ 3 ]

1 голос
/ 18 мая 2010

Winzip работает просто отлично, если ваш файл Excel не защищен. Хитрость в том, что вы не можете заархивировать папку, в которой хранятся все разархивированные файлы XML. Вместо этого вам нужно открыть эту папку, выделить все внутри нее и сжать выбранный файл.

В качестве альтернативы, если у вас установлена ​​функциональность командной строки winzip, вы можете использовать следующее для архивирования и распаковки.

wzunzip -d test.xlsx unzipped_test\

и

wzzip -p -r test.xlsx unzipped_test
0 голосов
/ 10 июня 2009

Хорошо, я сделал то же самое с файлами .xlsx (мне нужно было сделать презентацию о формате, поэтому мне нужно было изучить структуру файла). Не используйте WinZip. Я только смог успешно «заархивировать» файлы с помощью встроенной в Windows служебной программы «Сжатые (сжатые) папки». Это громоздко (вы должны скопировать файл из архива .zip, а затем вставить его обратно, используя браузер Explorer, когда закончите, вместо повторного архивирования всего архива в конце), но это работает.

0 голосов
/ 10 июня 2009

"" "я распаковываю, получаю несколько папок, затем помещаю эти извлеченные папки в другую папку и заархивирую их обратно" ""

Если это означает, что вы изменили иерархию файлов / папок в файле xlsm, неудивительно, что вы получили «нечитаемую ошибку». Короткий ответ: не делай этого. Чего ты пытаешься достичь?

[добавлено позже] Если это проблема «winzip», вы можете попробовать 7-Zip (http://www.7 -zip.org / ).

Мне удалось сделать следующее: создать очень маленький (2 ячейки) xlsx в Excel 2007, открыть файл с помощью 7-Zip, перейти к компоненту xml общих строк, нажать F4 - открыть файл для редактирования в Блокноте ( предположительно можно настроить другой редактор), изменить текст, который появляется в двух ячейках, сохранить из Блокнота, выйти из Блокнота, 7-Zip обнаружит изменение, спросит, хочу ли я обновить архив, я говорю «да», архив обновлен, выйти из 7-Zip, откройте обновленный архив aka xlsx с Excel 2007, жалоб нет, текстовые изменения отображаются корректно.

...