Ну есть и другие библиотеки.
ИЛИ - ИЛИ: выгрузка в Excel
Re: ИЛИ - ИЛИ: выгрузка в Excel
-
- Сообщения: 338
- Зарегистрирован: 11 сен 2017, 13:42
- Откуда: Санкт-Петербург
Re: ИЛИ - ИЛИ: выгрузка в Excel
поэкспериментировал 3 вариант.
минусы: все данные можно выгружать только в текстовые поля. В экселе они отобразятся адекватно (хотя формат и будет текст).
Во всех остальных случаях заголовки первой строкой не создать
По поводу VBA. Для Windows это не сложно реализуется. Но поскольку только для Windows - то не универсально
Кстати, есть 5 вариант.
Хранится файл-шаблон в Excel. Он содержит только заголовки столбцов и ссылку, что данные экспортируются из такого-то текстового файла csv.
Сначала выгружается csv, потом экспортируется шаблон с функцией открыть автоматически. При открытии связи обновятся.
Плюсы: поддерживается форматирование, заданное изначально в шаблоне.
Минус метода: этот файл Excel связан с текстовым файлом-источником. Пользователь может видеть данные, но чтобы переслать кому-то файл, нужно выполнять процедуру "Сохранить как".
минусы: все данные можно выгружать только в текстовые поля. В экселе они отобразятся адекватно (хотя формат и будет текст).
Во всех остальных случаях заголовки первой строкой не создать
По поводу VBA. Для Windows это не сложно реализуется. Но поскольку только для Windows - то не универсально
Кстати, есть 5 вариант.
Хранится файл-шаблон в Excel. Он содержит только заголовки столбцов и ссылку, что данные экспортируются из такого-то текстового файла csv.
Сначала выгружается csv, потом экспортируется шаблон с функцией открыть автоматически. При открытии связи обновятся.
Плюсы: поддерживается форматирование, заданное изначально в шаблоне.
Минус метода: этот файл Excel связан с текстовым файлом-источником. Пользователь может видеть данные, но чтобы переслать кому-то файл, нужно выполнять процедуру "Сохранить как".
Re: ИЛИ - ИЛИ: выгрузка в Excel
Ну есть, например это: http://poi.apache.organdrey volkov писал(а): ↑04 окт 2017, 15:55По поводу VBA. Для Windows это не сложно реализуется. Но поскольку только для Windows - то не универсально
Можно изучить и запускать через ScriptMaster
Re: ИЛИ - ИЛИ: выгрузка в Excel
А вот и на русском - надо будет заняться как-то:Arcady писал(а): ↑04 окт 2017, 16:33Ну есть, например это: poi.apache.organdrey volkov писал(а): ↑04 окт 2017, 15:55По поводу VBA. Для Windows это не сложно реализуется. Но поскольку только для Windows - то не универсально
Можно изучить и запускать через ScriptMaster
https://tproger.ru/translations/how-to- ... i-example/
-
- Сообщения: 338
- Зарегистрирован: 11 сен 2017, 13:42
- Откуда: Санкт-Петербург
Re: ИЛИ - ИЛИ: выгрузка в Excel
еще вариант пришел в голову: комбинированная выгрузка
выгружаем данные в эксель как обычно, средствами файлмейкера
затем стоит задача в этом файле заменить заголовки на "понятные пользователю"
это можно сделать генерацией и запуском vbs скрипта. То есть через язык Visual Basic Script
будет работать только на винде, и то коряво, поскольку библиотеки офиса разные в разных версиях винды
выгружаем данные в эксель как обычно, средствами файлмейкера
затем стоит задача в этом файле заменить заголовки на "понятные пользователю"
это можно сделать генерацией и запуском vbs скрипта. То есть через язык Visual Basic Script
будет работать только на винде, и то коряво, поскольку библиотеки офиса разные в разных версиях винды
Re: ИЛИ - ИЛИ: выгрузка в Excel
Да забудьте вы про VB - есть java, есть php, с некоторых пор вот R прикрутили И все это кросплатформенные решения.andrey volkov писал(а): ↑08 ноя 2017, 08:14То есть через язык Visual Basic Script
будет работать только на винде, и то коряво, поскольку библиотеки офиса разные в разных версиях винды
-
- Сообщения: 338
- Зарегистрирован: 11 сен 2017, 13:42
- Откуда: Санкт-Петербург
Re: ИЛИ - ИЛИ: выгрузка в Excel
да я уже придумал себе решение
в файле sharedStrings первые значения - это заголовки столбцов
я могу просто подменить их на нужные мне заголовки
в файле sharedStrings первые значения - это заголовки столбцов
я могу просто подменить их на нужные мне заголовки
-
- Сообщения: 338
- Зарегистрирован: 11 сен 2017, 13:42
- Откуда: Санкт-Петербург
Re: ИЛИ - ИЛИ: выгрузка в Excel
статья интересная
нам предлагается вместо экспорта в xslx экспортировать в csv
и второй вариант - генерация Excel XML файла (вариант, который еще несколько лет назад предлагал Михаил Едошин)
то есть промежуточные варианты.
если решите использовать csv - то попросите меня написать статью. Все это можно сделать намного проще
если решите использовать второй вариант, то рекомендую экспортировать данные из небольшой таблички с разными типами данных в эксель стандартными средствами файлмейкера, затем открыть этот файл и сохранить в формате Таблица XML 2003. После этого уже открыть в текстовом редакторе и посмотреть, как он устроен и поэкспериментировать.
Понятно, что у этого документа есть шапка, подвал и изменяемая часть собственно с данными. Сформировать исходный текст будет не сложно, равно как и сохранить его в виде файла (средствами плагина BE). Сложнее с форматированием, но просто, если форматирование не применять.
Тип данных Дата придется преобразовывать в
Документ с правильной шапкой открывается экселем без особых вопросов
нам предлагается вместо экспорта в xslx экспортировать в csv
и второй вариант - генерация Excel XML файла (вариант, который еще несколько лет назад предлагал Михаил Едошин)
то есть промежуточные варианты.
если решите использовать csv - то попросите меня написать статью. Все это можно сделать намного проще
если решите использовать второй вариант, то рекомендую экспортировать данные из небольшой таблички с разными типами данных в эксель стандартными средствами файлмейкера, затем открыть этот файл и сохранить в формате Таблица XML 2003. После этого уже открыть в текстовом редакторе и посмотреть, как он устроен и поэкспериментировать.
Понятно, что у этого документа есть шапка, подвал и изменяемая часть собственно с данными. Сформировать исходный текст будет не сложно, равно как и сохранить его в виде файла (средствами плагина BE). Сложнее с форматированием, но просто, если форматирование не применять.
Тип данных Дата придется преобразовывать в
Код: Выделить всё
<Cell ss:StyleID="s71"><Data ss:Type="DateTime">2017-11-09T00:00:00.000</Data></Cell>
Re: ИЛИ - ИЛИ: выгрузка в Excel
В статье средствами XSLT формируется фактически html файл. Если открыть его в текстовом редакторе (файл примера в статье) имеем:
В общем-то все неплохо, кроме больших НО:
- это xls, а не xlsx, что в наше время как-то даже неудобно
- эксель ругается при открытии, и пользователей это очевидно будет пугать.
так что пока я голосую за java через scriptmaster, думаю там можно будет построить действительно нормальное и универсальное решение.
Код: Выделить всё
<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:x='urn:schemas-microsoft-com:office:excel' xmlns='http://www.w3.org/TR/REC-html40'>
<head>
<meta http-equiv=Content-Type content='text/html; charset=windows-1252'>
<meta name=ProgId content=Excel.Sheet>
<meta name=Generator content='Microsoft Excel 11'>
<style>
<!--table @page{} -->td.N {mso-number-format:'\#\,\#\#0\.00_ \;\[Red\]\-\#\,\#\#0\.00\ '} td.L {text-align:left;}
</style>
<xml>
<x:ExcelWorkbook>
<x:ExcelWorksheets>
<x:ExcelWorksheet>
<x:Name>Sheet1</x:Name>
<x:WorksheetOptions>
<x:DisplayGridlines/>
<x:Selected/>
<x:FreezePanes/>
<x:FrozenNoSplit/>
<x:SplitHorizontal>1</x:SplitHorizontal>
<x:TopRowBottomPane>1</x:TopRowBottomPane>
<x:ActivePane>2</x:ActivePane>
<x:Panes>
<x:Pane>
<x:Number>3</x:Number>
</x:Pane>
<x:Pane>
<x:Number>2</x:Number>
</x:Pane>
</x:Panes>
<x:ProtectContents>False</x:ProtectContents>
<x:ProtectObjects>False</x:ProtectObjects>
<x:ProtectScenarios>False</x:ProtectScenarios>
</x:WorksheetOptions>
</x:ExcelWorksheet>
</x:ExcelWorksheets>
</ x:ExcelWorkbook>
</xml>
</head>
- это xls, а не xlsx, что в наше время как-то даже неудобно
- эксель ругается при открытии, и пользователей это очевидно будет пугать.
так что пока я голосую за java через scriptmaster, думаю там можно будет построить действительно нормальное и универсальное решение.