本文整理自网络,侵删。
1、调用
listtoexcel('abcd', jjd_list, 5);//第一个参数没什么用,随便写的。第二个参数就是LISTVIEW。第三个参数代表哪列是数值型。
2、代码
function listtoexcel(ttname: string; tt: TListView; num_num: integer): string;var h, k, i: integer; Excelid: OleVariant; Y, X: integer; Temsheet: OleVariant; // 工作薄 FWorkBook: OleVariant; // 工作表 // FExcel:OleVariant; //excel应用程序begin try Excelid := CreateOLEObject('Excel.Application'); except Application.MessageBox('Excel没有安装!', '提示信息', MB_OK + MB_ICONASTERISK + MB_DEFBUTTON1 + MB_APPLMODAL); Exit; end; try k := tt.Items.Count; h := tt.Columns.Count; Excelid.Visible := False; // 是否显示 FWorkBook := Excelid.WorkBooks.Add(-4167); // 新的工作表 // Temsheet := FWorkBook.Worksheets.Add; // Temsheet.Select; // Temsheet.Name:=''; // Temsheet.Columns[1].ColumnWidth:=30;//设置列宽度 // Temsheet.Columns[2].ColumnWidth:=30; // Temsheet:=Excelid.WorkBooks.Add; // Excelid.worksheets[1].range['A1:c1'].Merge(True); // Excelid.WorkSheets[1].Cells[1, 1].Value := ttname; // Excelid.worksheets[1].Range['a1:a1'].HorizontalAlignment := $FFFFEFF4; // Excelid.worksheets[1].Range['a1:a1'].VerticalAlignment := $FFFFEFF4; // 写表头,以LISTVIEWS列名为准 for i := 0 to h - 1 do begin Excelid.Worksheets[1].Cells[1, i + 1].Value := tt.Columns.Items[i].Caption; end; // Temsheet:=FWorkBook.Worksheets.Add; { Temsheet.Name:='利润统计'; Temsheet.Select; Temsheet.Columns[1].ColumnWidth:=4;//设置列宽度 Temsheet.Columns[2].ColumnWidth:=10; Temsheet.Columns[3].ColumnWidth:=16; } // Excelid.WorkSheets[1].Activate; // 开始写内容 // Excelid.ActiveSheet.Columns[2].ColumnsWidth := 5; // Excelid.ActiveSheet.Columns[1].Width := 20; // Excelid.WorkSheets[1].Columns[1].ColumnsWidth := 20; for X := 2 to k + 1 do begin Excelid.Cells.item[X, 1].numberformatlocal := '@'; Excelid.Worksheets[1].Cells[X, 1].Value := tt.Items.item[X - 2].Caption; for Y := 2 to h do begin if num_num = Y then begin Excelid.Cells.item[X, Y].numberformatlocal := '0.00_ '; end else begin Excelid.Cells.item[X, Y].numberformatlocal := '@'; end; Excelid.Worksheets[1].Cells[X, Y].Value := tt.Items.item[X - 2] .SubItems[Y - 2]; end; end; except // Application.MessageBox('导入数据出错!请检查文件的格式是否正确!', '提示信息', MB_OK + MB_ICONASTERISK + MB_DEFBUTTON1 + MB_APPLMODAL); end; Excelid.Visible := True; // 是否显示end;
原文链接:https://blog.csdn.net/weixin_44387646/article/details/90402644
相关阅读 >>
Delphi windows 编程[1] - 窗体生成的过程一
Delphi中使用xmlhttp / xmlhttprequest 避免缓存
更多相关阅读请进入《Delphi》频道 >>