Я хочу экспортировать данные в Excel из Delphi без необходимости иметь копию Excel, возможно ли это?
Н.Б. CSV не подойдет.
Я хочу экспортировать данные в Excel из Delphi без необходимости иметь копию Excel, возможно ли это?
Н.Б. CSV не подойдет.
FlexCel, ранее открытый исходный код, теперь управляется TMS (http://www.tmssoftware.com/site/flexcel.asp) прекрасно работает.
Вы также можете проверить TmxNativeExcel на http://www.torry.net. Поставляется бесплатно и использует родной формат Biff. Я не пробовал это, хотя.
Попробуйте zexmlss. Эта библиотека может создавать и загружать файлы формата Excel 2003 XML. Поддержка объединенных ячеек, границ, вертикального и горизонтального выравнивания и прочего. Zlib лицензия. Работа с delphi 6, 7, 9-14 и lazarus.
Я считаю, что можно создавать документы MS Office в формате HTML. Вам не нужно открывать их в веб-браузере или что-то в этом роде, файл по-прежнему может иметь расширение .xls и открываться в Excel, как обычно.
Я только что создал новую электронную таблицу и вставил числа 1-3 в первые три ячейки столбца A и сохранил ее как HTML. Там была куча лишнего беспорядка, который, вероятно, не весь необходим. Я вырезал все, что мог, вот то, что выглядит минимумом для создания рабочей электронной таблицы.
Попробуйте создать новый текстовый файл с этим содержимым и сохраните его с расширением .xls.
<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">
<!--[if gte mso 9]><xml>
<x:ExcelWorkbook>
<x:ExcelWorksheets>
<x:ExcelWorksheet>
<x:Name>Sheet1</x:Name>
<x:WorksheetOptions>
<x:Selected/>
<x:Panes>
<x:Pane>
<x:Number>3</x:Number>
<x:ActiveRow>3</x:ActiveRow>
</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><![endif]-->
</head>
<body>
<table x:str>
<tr>
<td x:num width=64>1</td>
</tr>
<tr>
<td x:num>2</td>
</tr>
<tr>
<td x:num>3</td>
</tr>
</table>
</body>
</html>
oExport — собственная библиотека импорта/экспорта Delphi XLSX/ODS
http://www.kluug.at/xlsx-ods-delphi.php
под лицензией тройной лицензии MPL/GPL/LGPL Версия: MPL 1.1/GPL 2.0/LGPL 2.1
SMExport от Scalabium (scalabium.com) включает множество форматов, включая формат Excel с установленным Excel или без него.
Упомянутый ранее NativeExcel принадлежит Nika-Soft. Не бесплатно, но работает нормально. Пользуюсь уже больше года без проблем. http://www.nika-soft.com/nativeexcel2/
Мы успешно использовали с D2007, D2009 и D2010
TXLSFile is a Delphi library for reading and writing MS Excel
XLS files. It is based on direct reading and writing of files,
and works without OLE Automation with Microsoft Excel.
TXLSFile is distributed with XLSExport components package.
XLSExport is a Delphi components package for quick data
export into MS Excel file with one line of code.
Есть очень простой способ добиться этого, используя текстовый файл. Просто выведите данные, за каждым полем следует запятая, за которой следует возврат каретки. Сохраните этот файл с расширением .CSV. Это все еще должно работать в Excel; Я использую Open Officw в эти дни