Russian Qt Forum
Ноябрь 23, 2024, 05:26 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Сохранение Excel в разных форматах  (Прочитано 8270 раз)
zalivaha
Гость
« : Декабрь 19, 2010, 15:30 »

void File_XLSX::saveFileEXCEL(const QString &fileName, int fileFormat)
{
    if(this->isOpenExcel() && !fileName.isEmpty()){
        Workbook->dynamicCall("SaveAs(Variant,Variant)",
                              QString(fileName).replace("/", "\\"),
                              fileFormat);
    }
}

enum     Excel::XlFileFormat {
  Excel::xlAddIn = 18, Excel::xlCSV = 6, Excel::xlCSVMac = 22, Excel::xlCSVMSDOS = 24,
  Excel::xlCSVWindows = 23, Excel::xlDBF2 = 7, Excel::xlDBF3 = 8, Excel::xlDBF4 = 11,
  Excel::xlDIF = 9, Excel::xlExcel2 = 16, Excel::xlExcel2FarEast = 27, Excel::xlExcel3 = 29,
  Excel::xlExcel4 = 33, Excel::xlExcel5 = 39, Excel::xlExcel7 = 39, Excel::xlExcel9795 = 43,
  Excel::xlExcel4Workbook = 35, Excel::xlIntlAddIn = 26, Excel::xlIntlMacro = 25, Excel::xlWorkbookNormal = -4143,
  Excel::xlSYLK = 2, Excel::xlTemplate = 17, Excel::xlCurrentPlatformText = -4158, Excel::xlTextMac = 19,
  Excel::xlTextMSDOS = 21, Excel::xlTextPrinter = 36, Excel::xlTextWindows = 20, Excel::xlWJ2WD1 = 14,
  Excel::xlWK1 = 5, Excel::xlWK1ALL = 31, Excel::xlWK1FMT = 30, Excel::xlWK3 = 15,
  Excel::xlWK4 = 38, Excel::xlWK3FM3 = 32, Excel::xlWKS = 4, Excel::xlWorks2FarEast = 28,
  Excel::xlWQ1 = 34, Excel::xlWJ3 = 40, Excel::xlWJ3FJ3 = 41, Excel::xlUnicodeText = 42,
  Excel::xlHtml = 44, Excel::xlWebArchive = 45, Excel::xlXMLSpreadsheet = 46, Excel::xlExcel12 = 50,
  Excel::xlOpenXMLWorkbook = 51, Excel::xlOpenXMLWorkbookMacroEnabled = 52, Excel::xlOpenXMLTemplateMacroEnabled = 53, Excel::xlTemplate8 = 17,
  Excel::xlOpenXMLTemplate = 54, Excel::xlAddIn8 = 18, Excel::xlOpenXMLAddIn = 55, Excel::xlExcel8 = 56,
  Excel::xlOpenDocumentSpreadsheet = 60, Excel::xlWorkbookDefault = 51
}
Записан
kolob
Частый гость
***
Offline Offline

Сообщений: 296



Просмотр профиля
« Ответ #1 : Декабрь 22, 2010, 14:40 »

Цитировать
void SaveAs(const QVariant&,const QVariant&,const QVariant&,const QVariant&,const QVariant&,const QVariant&,XlSaveAsAccessMode);

а что делать с остальными параметрами?

мне ошибку выдает
Цитировать
QAxBase: Error calling IDispatch member SaveAs: Exception thrown by server.
Записан

Qt 5.11.0, Win, MinGW
kolob
Частый гость
***
Offline Offline

Сообщений: 296



Просмотр профиля
« Ответ #2 : Декабрь 22, 2010, 17:09 »

переписал вот так:
workbook->dynamicCall("SaveAs(const QVariant&, const QVariant&)", QVariant(fileName), QVariant(int))

где fileName - полный путь к файлу + имя файла + расширение
      int - то что zalivaha указал выше

У меня была ошибка, я брал (например) параметр типа Excel::xlTextPrinter ,а надо было 36, тогда все правильно будет

Вот ссылка полезная excel, может кому нибудь понадобиться. Мне пригодилось.
Записан

Qt 5.11.0, Win, MinGW
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.052 секунд. Запросов: 23.