powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Экспорт в Excel. Действительный формат файла отличается от указываемого его расширением.
9 сообщений из 9, страница 1 из 1
Экспорт в Excel. Действительный формат файла отличается от указываемого его расширением.
    #39590509
melihron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем здравствуйте.
Кто в курсе, подскажите пожалуйста.
Access 2003. Создаю экселевский файл объект, пишу в него, закрываю.
А при открытии возникает предупреждение, что действительный формат файла отличается от указываемого его расширением имени файла.
Что это за фигня и как с ней бороться ?
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
  Dim xlApp As Object  'Excel.Application
  Dim xlBook As Object 'Excel.Workbook
  Dim xlSheet As Object 'Excel.Worksheet
  dim filename as string

  filename = "H:\каталог\" & "имяфайла" & ".xls"

  Set xlApp = CreateObject("Excel.Application")

  Set xlBook = xlApp.Workbooks.Add
  Set xlSheet = xlApp.ActiveSheet

'-------------------------------------------------------------------------------------
....
'-------------------------------------------------------------------------------------

  xlBook.SaveAs filename
  xlBook.Close
  xlApp.Quit

  Set xlSheet = Nothing
  Set xlBook = Nothing
  Set xlApp = Nothing
...
Рейтинг: 0 / 0
Экспорт в Excel. Действительный формат файла отличается от указываемого его расширением.
    #39590568
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А эксель из какого офиса? Если 2007 и старше, то проще всего давать файлу корректное расширение xlsx сразу.
Если нужен все же xls, то сохранять нужно не в формате по умолчанию, а в формате 97-2003
...
Рейтинг: 0 / 0
Экспорт в Excel. Действительный формат файла отличается от указываемого его расширением.
    #39590595
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут на форуме кто-то писал, что по умолчанию файл создаётся в формате Excel 5.0

А почему Вам надо обязательно создавать файл, а не воспользоваться экспортом? Например
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
Select Case sngVersion
    stDocName = "qSpr_Журнал"
Select Case sngVersion
    Case Is < 12
        DoCmd.OutputTo acOutputQuery, stDocName, "MicrosoftExcelBiff8(*.xls)", "Журнал застройщиков.xls", True
    Case Else
        DoCmd.OutputTo acOutputQuery, stDocName, "ExcelWorkbook(*.xlsx)", "Журнал застройщиков.xlsx", True
End Select
...
Рейтинг: 0 / 0
Экспорт в Excel. Действительный формат файла отличается от указываемого его расширением.
    #39590596
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Первая строка в коде не нужна. Скопировал по ошибке.
...
Рейтинг: 0 / 0
Экспорт в Excel. Действительный формат файла отличается от указываемого его расширением.
    #39590615
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jossпочему Вам надо обязательно создавать файл, а не воспользоваться экспортом?
Или еще лучше - сделать пустой файл со всем необходимым форматированием/макросами/формулами и т.п., а в программе открывать для вставки данных копию этого файла. Для вставки данных CopyFromRecordset работает очень быстро, можно делать дополнительные изменения, работать с несколькими вкладками без ручного создания статичных данных и форматирования. Получаются весьма профессионально выглядищие отчеты или форма ввода.
...
Рейтинг: 0 / 0
Экспорт в Excel. Действительный формат файла отличается от указываемого его расширением.
    #39590649
Методу xlBook.SaveAs можно указать конкретный тип файла.
Интересно, а какой тип файла у вас получается? На Excel 5.0 он бы так не ругался.
...
Рейтинг: 0 / 0
Экспорт в Excel. Действительный формат файла отличается от указываемого его расширением.
    #39590653
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrShinJossпочему Вам надо обязательно создавать файл, а не воспользоваться экспортом?
Или еще лучше - сделать пустой файл со всем необходимым форматированием/макросами/формулами и т.п., а в программе открывать для вставки данных копию этого файла. Для вставки данных CopyFromRecordset работает очень быстро, можно делать дополнительные изменения, работать с несколькими вкладками без ручного создания статичных данных и форматирования. Получаются весьма профессионально выглядищие отчеты или форма ввода. У меня кстати так и сделано. Создана куча шаблонов на многие случаи жизни. Предварительно отформатированы все нужные ячейки. А потом выгружаются рекордсеты в нужные места. Довольно удобно.
...
Рейтинг: 0 / 0
Экспорт в Excel. Действительный формат файла отличается от указываемого его расширением.
    #39590868
melihron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MrShinА эксель из какого офиса? Если 2007 и старше, то проще всего давать файлу корректное расширение xlsx сразу.
Если нужен все же xls, то сохранять нужно не в формате по умолчанию, а в формате 97-2003
MrShin, спасибо, поменял расширение на xlsx и ругаться перестало.

JossА почему Вам надо обязательно создавать файл, а не воспользоваться экспортом? Например
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
Select Case sngVersion
    stDocName = "qSpr_Журнал"
Select Case sngVersion
    Case Is < 12
        DoCmd.OutputTo acOutputQuery, stDocName, "MicrosoftExcelBiff8(*.xls)", "Журнал застройщиков.xls", True
    Case Else
        DoCmd.OutputTo acOutputQuery, stDocName, "ExcelWorkbook(*.xlsx)", "Журнал застройщиков.xlsx", True
End Select


Этим методом до меня в базе пользовались... но он не форматирует ячейки..., хотя быстрый конечно... там есть большие комментарии, и пользователь, если не видит весь коммент, начинает нервничать и впадает в ступор, а анимация заполнения ячеек экселевской таблички по первому методу производит на них магическое действие)... ну... по крайней мере пока)

АнантолийМетоду xlBook.SaveAs можно указать конкретный тип файла.
Интересно, а какой тип файла у вас получается? На Excel 5.0 он бы так не ругался.
Анатолий, спасибо за инфу. Если сделать так:
Код: vbnet
1.
2.
filename = "H:\каталог\" & "имяфайла" & ".xls"
xlBook.SaveAs filename, FileFormat:=56


то сохраняется в XLS и не ругается при открытии.
...
Рейтинг: 0 / 0
Экспорт в Excel. Действительный формат файла отличается от указываемого его расширением.
    #39591375
melihron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Анатолий ( Киев )Методу xlBook.SaveAs можно указать конкретный тип файла.
Интересно, а какой тип файла у вас получается? На Excel 5.0 он бы так не ругался.
У меня по умолчанию получался xlsx видимо... а расширение я ему давал xls, вот она и ругалась при открытии.
Про Excel 5.0 незнаю, у пользователей стоит 2010 (Excel) и выше... база тока под 2003-й акцесс.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Экспорт в Excel. Действительный формат файла отличается от указываемого его расширением.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]