![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Сохранение данных из TListView в XLSDelphi , Технологии , OLE Automation MSOffice
Автор: dDan { **** UBPFD *********** by delphibase.endimus.com **** >> Сохранение данных из ListView в *.xls Сохранение данных из ListView в *.xls Зависимости: ComObj Автор: dDan, ddan2002@mail.ru Copyright: dDan Дата: 3 декабря 2003 г. ***************************************************** } procedure ListToExcel(ListView: TListView); var row, i: integer; Range, Sheet: VAriant; begin try Excel := CreateOleObject('Excel.Application'); except raise Exception.Create('Невозможно поключиться к серверу Excel'); end; Screen.Cursor := crHourGlass; Excel.SheetsInNewWorkBook := 1; Excel.WorkBooks.Add; Sheet := Excel.Workbooks[1].Sheets[1]; Range := Sheet.Columns; Range.Columns[1].ColumnWidth := 30; Range.Columns[n].ColumnWidth := 30; Range.Columns[n + 1].ColumnWidth := 30; Range.Columns.Font.Size := 8; Range := Sheet.Range['a1:f1']; Range.Font.Size := 15; Range.Font.Bold := True; Range.Columns.Interior.ColorIndex := 6; Range.HorizontalAlignment := 3; Sheet.Cells[1, 2] := 'Данные на' + DateToStr(Date); //Заголовок Range := Sheet.Range['a2:f2']; Range.Font.Size := 10; Range.Font.Bold := True; Sheet.Cells[2, 1] := 'АА'; //Названия столбцов Sheet.Cells[2, n] := 'ББ'; Sheet.Cells[2, n + 1] := 'вв'; Row := 3; for i := 0 to List.Items.Count - 1 do begin Sheet.Cells[Row, 1] := ListView.Items.Item[i].Caption; Sheet.Cells[Row, 2] := ListView.Items.Item[i].SubItems[n]; Sheet.Cells[Row, 3] := ListView.Items.Item[i].SubItems[n + 1]; inc(Row); end; Screen.Cursor := crDefault; if SaveDialog.Execute then Excel.WorkBooks[1].SaveAs(exs.FileName); //Сохраняем Excel.Visible := True; //Показываем Excel end; Перевод контента на русский язык: Это код Delphi, который сохраняет данные из контрола TListView в файл Excel (.xls). Код использует unit ComObj для создания экземпляра Excel и манипуляции его объектами. Вот разбивка того, что код делает:
Вот некоторые предложения по улучшению:
В качестве альтернативного решения можно использовать библиотеку ExcelExport, которая предоставляет более простой способ экспорта данных из приложений Delphi в файлы Excel. Это бы устранило необходимость создания экземпляра Excel и манипуляции его объектами вручную. Вот пример модификации кода с использованием ExcelExport:
Код создает новый файл Excel, устанавливает лист, записывает строку заголовка и данные элементов в лист, а затем сохраняет файл. Он намного проще и более компактен, чем оригинальный код! В статье описывается код на Delphi, который позволяет сохранять данные из TListView в файл XLS с помощью библиотеки ComObj. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: OLE Automation MSOffice ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |