Браузер открывает загруженный файл Excel в неправильной версии Excel - PullRequest
0 голосов
/ 28 апреля 2011

У нас есть веб-приложение, написанное на PHP, которое экспортирует результаты запросов MySQL в файл Excel, используя PEAR Spreadsheet Excel Writer . Я инициирую загрузку через следующие заголовки:

header( "Content-Type: application/vnd.ms-excel" );
header( "Content-Transfer-Encoding: binary" );
header( "Cache-Control: must-revalidate" );
header( "Pragma: no-cache" );
header( "Content-Disposition: attachment; filename=myfile.xls" );

Насколько я могу судить, все это работает правильно. Все пользователи имеют Excel 97 и 2000. Проблема заключается в том, что браузер (исключительно IE7 / 8) предлагает сохранить, «Сохранить как тип» по умолчанию - Excel 95, и, очевидно, существуют некоторые проблемы совместимости, если файл сохраняется в этом формате. Это не технические пользователи, поэтому просят их изменить тип файла: ударил или пропустил.

Я сказал своему клиенту, что не могу контролировать, что ОС / браузер делает с файлом при загрузке, но я надеюсь на подтверждение этого. Мне также интересно, есть ли возможность обновить Excel 95 и оставить некоторые из его щупалец, поэтому Windows по-прежнему считает, что это жизнеспособный вариант.

Любые мысли или отзывы приветствуются.

Ответы [ 2 ]

1 голос
/ 29 апреля 2011

Я думаю, что ваш комментарий о тентовых окнах Windows 95 все еще висит, может быть правильным.

Проверяя мой реестр, HKEY_CLASSES_ROOT / .xls имеет значение по умолчанию OpenOffice.org.Xls.

Когда я просматриваю HKEY_CLASSES_ROOT / OpenOffice.org.Xls, это имеет значение по умолчанию «Microsoft Excel 97-2003 Worksheet», которое, я думаю, является типом, который вы на самом деле хотите.

Под этим в HKEY_CLASSES_ROOT / OpenOffice / org.XLS / shell / open / command указывается фактическая используемая команда - на моей машине это "C: \ Program Files (x86) \ OpenOffice.org 3 \ program\ scalc.exe "-o"% 1 ", но у меня есть OpenOffice, а не Excel.Твой будет другим.

Проверьте эти записи и посмотрите, имеет ли значение смысл на компьютерах вашего клиента.Возможно, вам будет легко указать .xls на более позднюю версию Excel.

Прежде чем вносить какие-либо изменения, тщательно запишите, что вы изменяете из реестра, чтобы вы могли вернуть его обратно, если он не работает.

0 голосов
/ 29 апреля 2011

Это проблема клиента, с этим ничего нельзя поделать. Ваши заголовки верны. Им придется обновить приложение по умолчанию для открытия файлов XLS.

...