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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: открыть .xlsx в Office2000  (Прочитано 9518 раз)
mokynis
Самовар
**
Offline Offline

Сообщений: 176


Просмотр профиля
« : Май 22, 2012, 16:05 »

ситуация следующая: на предприятие приходят файлы Excel самых разных версий. Надо их содержимое записать в уже имеющуюся базу данных. На машинах стоит (кажется, у всех) Office 2000, который файлы .xlsx открывает с помощью Compatibility Pack for the 2007 Office system. Соответственно, программа с .xls файлами справляется без проблем, а .xlsx открывать отказывается. При попытке открыть просто аварийно завершается. Идолов Office с его взаимонесовместимостью! Подскажите, что можно сделать и можно ли сделать что-то вообще? А то там 3 человека вручную все это забивают.
Записан

QT4, Qt5, Qt6 Debian, ArchLinux
Bepec
Гость
« Ответ #1 : Май 22, 2012, 19:07 »

Эммм... Простенький скрипт и наблюдать за бегущими строчечками?
Записан
mokynis
Самовар
**
Offline Offline

Сообщений: 176


Просмотр профиля
« Ответ #2 : Май 23, 2012, 08:46 »

Цитировать
Простенький скрипт и наблюдать за бегущими строчечками?
ничччего не понял. Можно чуть поподробнее? Что должен делать скрипт и какие строчки должны бегать?
Записан

QT4, Qt5, Qt6 Debian, ArchLinux
Bepec
Гость
« Ответ #3 : Май 23, 2012, 09:05 »

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

Всё что я могу сказать - можно написать простенький скриптик, переносящий из xsls в xls, а далее, помоему, проблема исчезнет.
Записан
alex312
Хакер
*****
Offline Offline

Сообщений: 606



Просмотр профиля
« Ответ #4 : Май 23, 2012, 12:58 »

Подскажите, что можно сделать и можно ли сделать что-то вообще?
Посмотреть в сторону LibreOffice/OpenOffice.
Записан
Bepec
Гость
« Ответ #5 : Май 23, 2012, 14:15 »

Много вариантов решения. Цель неясна. Неясна архитектура. В общем ждёмс ТС.
Записан
mokynis
Самовар
**
Offline Offline

Сообщений: 176


Просмотр профиля
« Ответ #6 : Май 23, 2012, 14:24 »

Цитировать
Какого формата файл-источник, какого формата файл-получатель
я ж написал:
Цитировать
На машинах стоит (кажется, у всех) Office 2000
,
Цитировать
файлы .xlsx открывает с помощью Compatibility Pack for the 2007 Office system
файлы формата .xls я без проблем открываю, выбираю из них нужную информацию и вписываю их в специально для этого разработанный шаблон (в саму базу меня главбух не пускает, так что договорился с тем, кто обслуживает ее-базу я имею в виду, чтобы он сделал загрузку нужной информации из Excel файла-шаблона). Грубо говоря, 1-я колонка-наименование, 2-я-количество, 3-я цена и т. д. В общем, сама процедура не сложная, все дело в том, что файлы-источники могут быть и не 2000-го Office'a. Сам Excel их открывает (через Compatibility Pack), а QAxObject пытается сделать это напрямую через установленный Excel и в результате программа падает. Вот, собственно, и все подробности. А насчет OpenOffice надо подумать. Спасибо за подсказку. Может еще ссылочку кинете, где описывается как с ним работать? А то я как-то пробовал-ничего не вышло.
Записан

QT4, Qt5, Qt6 Debian, ArchLinux
Bepec
Гость
« Ответ #7 : Май 23, 2012, 14:37 »

Я имел в виду формат хранения данных. Вдруг у вас там аналитические диаграммы под 100 мегабайтов?
А если текстовые таблицы, то да - просто использовать какую нить библиотечку и выдернуть.
Записан
mokynis
Самовар
**
Offline Offline

Сообщений: 176


Просмотр профиля
« Ответ #8 : Май 23, 2012, 14:57 »

нет, все-таки мы явно на разных языках говорим:
Цитировать
просто использовать какую нить библиотечку и выдернуть
по-прежнему ничччего не понимаю. Какую библиотеку? Откуда что выдернуть? Извиняюсь, если туплю
Записан

QT4, Qt5, Qt6 Debian, ArchLinux
Bepec
Гость
« Ответ #9 : Май 23, 2012, 15:10 »

У вас проблема - формат не считывается.

Решение, варианты:
1) перегнать сторонней программой/библиотечкой данные из xlsx в xls и не парится.
2) скриптовыми языками (вне программы) перенести данные из xlsx в xls.
3) самому написать парсер для xlsx и перегнать данные в базу(минуя xls, если это возможно)
4) вообще перегнать всё на скриптовый язык и =>

=> Усевшись за компьютер запустить скритовый файл. Далее в течении некого времени смотреть, как строчечки, циферки, столбики, таблички сами переносятся на нужные места в шаблоне, форматируются, сохраняются. (Вот это я и называл бегающими строчечками)

PS вообще это забавно смотреть, как ексцель сам, без вашей помощи, выполняет вашу работу Веселый Только главное начальству не попасться - может произойти непонимание Веселый
Записан
mokynis
Самовар
**
Offline Offline

Сообщений: 176


Просмотр профиля
« Ответ #10 : Май 23, 2012, 15:27 »

спасибо огромное, теперь понял!
Записан

QT4, Qt5, Qt6 Debian, ArchLinux
alex312
Хакер
*****
Offline Offline

Сообщений: 606



Просмотр профиля
« Ответ #11 : Май 23, 2012, 15:51 »

А насчет OpenOffice надо подумать. Спасибо за подсказку. Может еще ссылочку кинете, где описывается как с ним работать? А то я как-то пробовал-ничего не вышло.
http://api.libreoffice.org/
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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