Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Экспорт в Excel. Действительный формат файла отличается от указываемого его расширением. / 9 сообщений из 9, страница 1 из 1
25.01.2018, 00:08
    #39590509
melihron
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Экспорт в Excel. Действительный формат файла отличается от указываемого его расширением.
Всем здравствуйте.
Кто в курсе, подскажите пожалуйста.
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
25.01.2018, 07:33
    #39590568
MrShin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Экспорт в Excel. Действительный формат файла отличается от указываемого его расширением.
А эксель из какого офиса? Если 2007 и старше, то проще всего давать файлу корректное расширение xlsx сразу.
Если нужен все же xls, то сохранять нужно не в формате по умолчанию, а в формате 97-2003
...
Рейтинг: 0 / 0
25.01.2018, 08:43
    #39590595
Joss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Экспорт в Excel. Действительный формат файла отличается от указываемого его расширением.
Тут на форуме кто-то писал, что по умолчанию файл создаётся в формате 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
25.01.2018, 08:44
    #39590596
Joss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Экспорт в Excel. Действительный формат файла отличается от указываемого его расширением.
Первая строка в коде не нужна. Скопировал по ошибке.
...
Рейтинг: 0 / 0
25.01.2018, 09:12
    #39590615
MrShin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Экспорт в Excel. Действительный формат файла отличается от указываемого его расширением.
Jossпочему Вам надо обязательно создавать файл, а не воспользоваться экспортом?
Или еще лучше - сделать пустой файл со всем необходимым форматированием/макросами/формулами и т.п., а в программе открывать для вставки данных копию этого файла. Для вставки данных CopyFromRecordset работает очень быстро, можно делать дополнительные изменения, работать с несколькими вкладками без ручного создания статичных данных и форматирования. Получаются весьма профессионально выглядищие отчеты или форма ввода.
...
Рейтинг: 0 / 0
25.01.2018, 10:14
    #39590649
Экспорт в Excel. Действительный формат файла отличается от указываемого его расширением.
Методу xlBook.SaveAs можно указать конкретный тип файла.
Интересно, а какой тип файла у вас получается? На Excel 5.0 он бы так не ругался.
...
Рейтинг: 0 / 0
25.01.2018, 10:21
    #39590653
Joss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Экспорт в Excel. Действительный формат файла отличается от указываемого его расширением.
MrShinJossпочему Вам надо обязательно создавать файл, а не воспользоваться экспортом?
Или еще лучше - сделать пустой файл со всем необходимым форматированием/макросами/формулами и т.п., а в программе открывать для вставки данных копию этого файла. Для вставки данных CopyFromRecordset работает очень быстро, можно делать дополнительные изменения, работать с несколькими вкладками без ручного создания статичных данных и форматирования. Получаются весьма профессионально выглядищие отчеты или форма ввода. У меня кстати так и сделано. Создана куча шаблонов на многие случаи жизни. Предварительно отформатированы все нужные ячейки. А потом выгружаются рекордсеты в нужные места. Довольно удобно.
...
Рейтинг: 0 / 0
25.01.2018, 13:08
    #39590868
melihron
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Экспорт в Excel. Действительный формат файла отличается от указываемого его расширением.
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
26.01.2018, 00:08
    #39591375
melihron
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Экспорт в Excel. Действительный формат файла отличается от указываемого его расширением.
Анатолий ( Киев )Методу xlBook.SaveAs можно указать конкретный тип файла.
Интересно, а какой тип файла у вас получается? На Excel 5.0 он бы так не ругался.
У меня по умолчанию получался xlsx видимо... а расширение я ему давал xls, вот она и ругалась при открытии.
Про Excel 5.0 незнаю, у пользователей стоит 2010 (Excel) и выше... база тока под 2003-й акцесс.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Экспорт в Excel. Действительный формат файла отличается от указываемого его расширением. / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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