testCount := 0; sheetName := "hello"; sheetName2 := "world"; // OpenFile excel := new TSExcelFile(); [err, errmsg] := excel.OpenFile('', 'd:\\temp\\raw.xlsx'); PrintInfo("OpenFile", err, errmsg); // Save [err, errmsg] := excel.Save(); PrintInfo("Save", err, errmsg); excel := new TSExcelFile(); // NewFile [err, errmsg] := excel.NewFile(); PrintInfo("NewFile", err, errmsg); // SaveAs // [err, errmsg] := excel.SaveAs('', 'd:\\temp\\test.xlsx'); // PrintInfo("SaveAs", err, errmsg); // FileName name := excel.FileName(); println("[success] name = {}", name); // GetSheet sheets := excel.GetSheets(); println("[success] sheets = {}", sheets); // GetSheetsCount sheetCount := excel.GetSheetsCount(); println("[success] GetSheetsCount = {}", sheetCount); // SetSheetName [err, errmsg] := excel.SetSheetName("sheet1", sheetName); PrintInfo("SetSheetName", err, errmsg); // GetSheetName sheetName := excel.GetSheetName(0); println("[success] GetSheetName = {}", sheetName); // NewSheet [err, errmsg] := excel.NewSheet(sheetName2); PrintInfo("NewSheet", err, errmsg); // DeleteSheet [err, errmsg] := excel.NewSheet("test1"); //[err, errmsg] := excel.DeleteSheet("test1"); //PrintInfo("DeleteSheet", err, errmsg); // TotalCols totalCols := excel.TotalCols(sheetName); println("[success] TotalCols = {}", totalCols); // TotalRows totalRows := excel.TotalRows(sheetName); println("[success] TotalRows = {}", totalRows); // SetCellValue flag := excel.SetCellValue(sheetName, "A1", 100); println("[success] SetCellValue = ", flag); // GetCellValue [err, errmsg] := excel.GetCellValue(sheetName, "A1"); PrintInfo("GetCellValue", err, errmsg); // SetCellRichText richText := TOfficeObj('TRichtext'); text1 := richText.AddText('Hello'); text1.Font.Size := 35; text1.Font.Color := "FFF000"; text2 := richText.AddText(" World"); text2.Font.Size := 25; text2.Font.Bold := true; excel.SetCellRichText(sheetName, "A2", richText); text2.Text := "python"; excel.SetCellRichText(sheetName, "A3", richText); println("[success] SetCellRichText"); // GetCellRichText arr := excel.GetCellRichText(sheetName, "A3"); println("[success] GetCellRichText = {}", arr); // ClearCell excel.ClearCell(sheetName, "A1"); //excel.ClearCell(sheetName); println("[success] ClearCell"); // SetCellFormula excel.SetCellFormula(sheetName, "A2", "=100*50"); println("[success] SetCellFormula"); // GetCellFormula [err, errmsg] := excel.GetCellFormula(sheetName, "A2"); PrintInfo("GetCellFormula", err, errmsg); // SetSheetRow excel.SetSheetRow(sheetName, "C3", array(1, 2, 3, 4, "a", "b")); println("[success] SetSheetRow"); // InsertTable table := array((1, 2, "你好"), (4, 5, "b")); //table2 := array(("title1" :1, "title2": 2), ("title1": 3, "title2": 4)); [err, errmsg] := excel.InsertTable(sheetName, "A5", table); PrintInfo("InsertTable", err, errmsg); // GetTable table := excel.GetTable(sheetName, "A5", "B7"); println("[success] GetTable = {}", table); // InsertCol excel.InsertCol(sheetName, "B"); excel.InsertCol(sheetName, "B"); println("[success] InsertCol"); // InsertRow excel.InsertRow(sheetName, 3); excel.InsertRow(sheetName, 3); println("[success] InsertRow"); // RemoveCol excel.RemoveCol(sheetName, "B"); println("[success] RemoveCol"); // RemoveRow excel.RemoveRow(sheetName, 3); println("[success] RemoveRow"); // SetRowHeight excel.SetRowHeight(sheetName, 1, 30); excel.SetRowHeight(sheetName, 15, 30); println("[success] SetRowHeight"); // GetRowHeight height := excel.GetRowHeight(sheetName, 2); println("[success] GetRowHeight = {}", height); height := excel.GetRowHeight(sheetName, 15); println("[success] GetRowHeight = {}", height); // SetColWidth excel.SetColWidth(sheetName, "A", "D", 20); println("[success] SetColWidth"); // GetColWidth width := excel.GetColWidth(sheetName, "A"); println("[success] GetColWidth = {}", width); width := excel.GetColWidth(sheetName, "E"); println("[success] GetColWidth = {}", width); // SetSheetDefaultColWidth excel.SetSheetDefaultColWidth(sheetName, 15); println("[success] SetSheetDefaultColWidth"); // GetSheetDefaultColWidth width := excel.GetSheetDefaultColWidth(sheetName); println("[success] GetSheetDefaultColWidth = {}", width); // AddComment excel.AddComment(sheetName, "A1", "csh", "heiheihei"); println("[success] AddComment"); // AddChart data := array(("Name":"Small","Apple":2,"Orange":3,"Pear":3), ("Name":"Normal","Apple":5,"Orange":2,"Pear":4), ("Name":"Large","Apple":6,"Orange":7,"Pear":8)); chart := TOfficeObj('TChart'); chart.Type := 'col'; chart.VaryColors := true; chart.BegColOff := 20000; chart.BegRowOff := 20000; chart.Name := 'test chart 1'; chart.Title := 'Hans Chart'; chart.AddSeries('Sheet1!$A$6', 'Sheet1!$B$5:$D$5', 'Sheet1!$B$6:$D$6'); chart.AddSeries('Sheet1!$A$7', 'Sheet1!$B$5:$D$5', 'Sheet1!$B$7:$D$7'); chart.AddSeries('Sheet1!$A$8', 'Sheet1!$B$5:$D$5', 'Sheet1!$B$8:$D$8'); chart.ShowLegendKey := false; chart.Legend.Position := 'left'; chart.ShowBubbleSize := true; chart.ShowCatName := false; chart.ShowLeaderLines := false; chart.ShowPercent := true; chart.ShowSerName := true; chart.ShowVal := true; chart.ShowBlanksAs := 'zero'; excel.NewSheet('Sheet1'); [err, errinfo] := excel.InsertTable("Sheet1","A5",data, true); chart1 := excel.AddChart('Sheet1', 'A11:G30', chart); println("[success] AddChart"); [err, errmsg] := excel.saveas("", "d:\\temp\\test.xlsx"); println("saveas : {}", err); // GetCharts [err, charts] := excel.GetCharts('Sheet1'); for i:=0 to length(charts)-1 do Begin println('ChartName={}, Title={}, Series={}',charts[i].Chart.Name, charts[i].Chart.Title, charts[i].Chart.Series); End; // SplitCellName [err, col, row] := excel.SplitCellName("AK47"); if not err then println("[success] {} = col : {}, row = {}", "SplitCellName", col, row); // JoinCellName [err, errmsg] := excel.JoinCellName("AK", 47); PrintInfo("JoinCellName", err, errmsg); // ColumnNameToNumber [err, errmsg] := excel.ColumnNameToNumber("AK"); PrintInfo("ColumnNameToNumber", err, errmsg); // ColumnNumberToName [err, errmsg] := excel.ColumnNumberToName(37); PrintInfo("ColumnNumberToName", err, errmsg); // CellNameToCoordinates [err, col, row] := excel.CellNameToCoordinates("A2"); if not err then println("[success] {} = col : {}, row = {}", "CellNameToCoordinates", col, row); // RGBToHSL [err, h, s, l] := excel.RGBToHSL(255, 15, 33); if not err then println("[success] {} = {}, {}, {}", "RGBToHSL", h, s, l); // HSLToRGB [err, r, g, b] := excel.HSLToRGB(h, s, l); if not err then println("[success] {} = {}, {}, {}", "HSLToRGB", h, s, l); // NewStyle style := TOfficeObj('TStyle'); style.Font.Color := "A020F0"; style.Font.Size := 22; style.Font.Name := "黑体"; style.Font.Bold := True; style.Font.Charset := "134"; style.Font.Script := "subscript"; style.Font.Underline := "double"; style.Font.Strikethrough := True; style.Font.Italic := True; style.Alignment.Horizontal := "center"; style.Alignment.Vertical := "justify"; style.Alignment.WrapText := True; style.Alignment.ReadingOrder := 2; style.Border.Left.LineStyle := "thin"; style.Border.Left.Color := "A020F0"; style.Border.Right.LineStyle := "thin"; style.Border.Right.Color := "FF0000"; style.Border.Bottom.LineStyle := "mediumDashed"; style.Border.Bottom.Color := "FF0000"; style.Border.Top.LineStyle := "mediumDashed"; style.Border.Top.Color := "FF0000"; style.Border.DiagonalDown := True; style.Border.DiagonalUp := True; style.Border.Diagonal.LineStyle := "double"; style.Border.Diagonal.Color := "A020F0"; style.NumberFormat.FormatCode := "#,##0.000_ "; //style.Fill.Pattern.PatternType := "solid"; //style.Fill.Pattern.ForegroundColor := "FF6699FF"; //style.Fill.Pattern.BackgroundColor := "FFFF0000"; style.Fill.Gradient.ThemeColor1 := 0; style.Fill.Gradient.ThemeColor2 := 4; style.Fill.Gradient.Shading := 1; style.Protection.Hide := 1; style.Protection.Lock := 1; styleid1 := excel.NewStyle(style); println("[success] NewStyle = {}", styleid1); // SetCellStyle excel.SetCellStyle(sheetName, "A1", "A2", styleid1); println("[success] SetCellStyle"); styleid := excel.GetCellStyle(sheetName, "A1"); println("[success] GetCellStyle = {}", styleid); styleid := excel.GetCellStyle(sheetName, "D4"); println("[success] GetCellStyle = {}", styleid); // SetSheetHeaderFooter headerFooter := TOfficeObj("THeaderFooter"); headerFooter.DifferentOddEven := true; headerFooter.DifferentFirst := true; headerFooter.ScaleWithDoc := False; headerFooter.AlignWithMargin := False; headerFooter.OddHeader := "&L123&456&789"; headerFooter.OddFooter := "&Ldef&Rhij"; headerFooter.EvenHeader := "&L123&R456"; headerFooter.EvenFooter := "&L456&R789"; headerFooter.FirstHeader := "&L++"; headerFooter.FirstFooter := "&R--"; excel.SetSheetHeaderFooter(sheetName, headerFooter); println("[success] SetSheetHeaderFooter"); // SetSheetVisible excel.SetSheetVisible(sheetName, True); println("[success] SetSheetVisible"); // GetSheetVisible visible := excel.GetSheetVisible(sheetName); println("[success] GetSheetVisible = {}", visible); // SetRowVisible excel.SetRowVisible(sheetName, 2, false); println("[success] SetRowVisible"); // GetRowVisble [err, errmsg] := excel.GetRowVisble(sheetName, 2); PrintInfo("GetRowVisble 2", err, errmsg); [err, errmsg] := excel.GetRowVisble(sheetName, 3); PrintInfo("GetRowVisble 3", err, errmsg); // SetColVisible excel.SetColVisible(sheetName, "A", false); println("[success] SetRowVisible"); // GetColVisble [err, errmsg] := excel.GetColVisble(sheetName, "A"); PrintInfo("GetColVisible", err, errmsg); // SetPageMargins margins := TOfficeObj('TMargins'); margins.Top := 0.5; margins.Bottom := 0.6; margins.Left := 0.7; margins.Right := 0.8; margins.Header := 0.9; margins.Footer := 1.0; excel.SetPageMargins(sheetName2, margins); println("[success] SetPageMargins"); // GetPageMargins margins := excel.GetPageMargins(sheetName2); println("[success] GetPageMargins top = {}, bottom = {}, left = {}, right = {}, header = {}, footer = {}", margins.Value('Top'), margins.Value('Bottom'), margins.Value('Left'), margins.Value('Right'), margins.Value('Header'), margins.Value('Footer')); // MergeCell excel.SetCellStyle(sheetName2, "A4", "A4", styleid1); excel.MergeCell(sheetName2, "A4", "C4"); excel.MergeCell(sheetName2, "A5", "D7"); println("[success] MergeCell"); // UnMergeCell excel.UnMergeCell(sheetName2, "A4", "C4"); println("[success] UnMergeCell"); // TODO 未完全开发完毕 // SetSheetViewOptions // GetSheetViewOptions // SetPageLayout pageLayout := TOfficeObj('TPageLayout'); pageLayout.FitToWidth := 10; pageLayout.FitToHeight := 10; pageLayout.FirstPageNumber := 5; pageLayout.Orientation := "portrait"; pageLayout.BlackAndWhite := true; pageLayout.PaperSize := 11; pageLayout.PageOrder := "overThenDown"; pageLayout.CellError := "blank"; pageLayout.CellComments := "asDisplayed"; excel.SetPageLayout(sheetName2, pageLayout); println("[success] SetPageLayout"); // GetPageLayout pageLayout := excel.GetPageLayout(sheetName2); println("[success] GetPageLayout FitToWidth = {}, PaperSize = {}", pageLayout.Value('FitToWidth'), pageLayout.Value('PaperSize')); // SetDefaultSheet excel.SetDefaultSheet(sheetName2); println("[success] SetDefaultSheet"); // GetDefaultSheet sheet := excel.GetDefaultSheet(); println("[success] GetDefaultSheet = {}", sheet); // SetCellHyperLink link := TOfficeObj('THyperLink'); link.LinkType := "Location"; link.LinkUrl := sheetName $ "!A1"; excel.SetCellHyperLink(sheetName2, 'A1', link); link := TOfficeObj('THyperLink'); link.LinkType := "External"; link.LinkUrl := "https://www.baidu.com"; link.Tooltip := "超链接悬浮提示"; excel.SetCellValue(sheetName2, 'A2', '超链接'); excel.SetCellHyperLink(sheetName2, 'A2', link); println("[success] SetCellHyperLink"); // GetCellHyperLink hyperlink := excel.GetCellHyperLink(sheetName2, 'A2'); println("[success] GetCellHyperLink LinkType = {}, LinkUrl = {}, Tooltip = {}", hyperlink.Value('LinkType'), hyperlink.Value('LinkUrl'), hyperlink.Value('Tooltip')); // SetSheetBackground ret := readfile(rwBinary(), "", "C:\\Users\\csh05\\Pictures\\Saved Pictures\\1.jpg", 0, 1024000, data); if not ret then return echo "readfile error!"; picture := TOfficeObj('TPicture'); picture.Image := data; excel.SetSheetBackground(sheetName, picture); println("[success] SetSheetBackground"); // AddPicture format := TOfficeObj('TPictureFormat'); format.BegColOff := 20000; format.EndColOff := 20000; excel.AddPicture(sheetName, 'A11', 'F33', picture, format); excel.AddPicture(sheetName2, 'A8', 'D16', picture, format); println("[success] AddPicture"); // DeletePicture excel.DeletePicture(sheetName2, 'A1', 'D17'); println("[success] DeletePicture"); // TODO 可能有问题 // AddTable table2 := array(("title1" :1, "title2": 2), ("title1": 3, "title2": 4)); excel.InsertTable(sheetName2, "A9", table2, true); tablestyle := TOfficeObj('TTableStyle'); tablestyle.TableName := "测试表"; tablestyle.TableStyle := "TableStyleMedium2"; tablestyle.ShowFirstColumn := True; tablestyle.ShowLastColumn := True; tablestyle.ShowRowStripes := True; tablestyle.ShowColumnStripes := True; excel.AddTable(sheetName2, "A9", "B11", tablestyle, false); println("[success] AddTable"); // InsertPageBreak excel.InsertPageBreak(sheetName2, 10); excel.InsertPageBreak(sheetName2, 15); println("[success] InsertPageBreak"); // RemovePageBreak excel.RemovePageBreak(sheetName2, 15); println("[success] RemovePageBreak"); // AddShape shape_format := TOfficeObj('TShapeFormat'); shape_format.BegColOff := 354252; shape_format.EndColOff := 7653; shape_format.BegRowOff := 55577; shape_format.EndRowOff := 66675; shape_type := "roundRect"; // SetCoreProps core := TOfficeObj('TCoreProperty'); core.Title := "标题"; core.Subject := "主题"; core.Creator := "作者"; excel.SetCoreProps(core); println("[success] SetCoreProps"); // GetCoreProps core := excel.GetCoreProps(); println("[success] GetCoreProps Title = {}, subject = {}, Creator = {}", core.Value("Title"), core.Value("Subject"), core.Value("Creator")); // SetAppProps appProps := TOfficeObj('TAppProperty'); appProps.Application := "Microsoft TX"; appProps.DocSecurity := false; appProps.ScaleCrop := "true"; appProps.Company := "TS"; appProps.LinksUpToDate := "true"; appProps.HyperlinksChanged := "true"; appProps.AppVersion := "1.000"; appProps.Manager := "这是主管"; //appProps.HyperlinkBase := "这是超链接基础"; excel.SetAppProps(appProps); println("[success] SetAppProps"); // GetAppProps app_props := excel.GetAppProps(); println("[success] GetAppProps Manager = {}, Company = {}, Application = {}", app_props.Value('Manager'), app_props.Value('Company'), app_props.Value('Application')); [err, errmsg] := excel.saveas("", "d:\\temp\\test.xlsx"); println("saveas : {}", err); Function _test_background(excel); Begin f := 'D:\\temp\\a.xlsx'; [err, msg] := excel.OpenFile('', f); if err then return echo "Open Fail:", msg, '\n'; ret := readfile(rwBinary(), "", "C:\\Users\\csh05\\Pictures\\Saved Pictures\\1.png", 0, 102400, data); if ret then pictrue := new TSImage(data); else return echo "readfile error!"; excel.SetSheetBackground('Sheet1', pictrue); [err, errmsg] := excel.SaveAs('', 'd:\\temp\\e.xlsx'); println('SaveAs->{}',err); End // ============================================================ Function PrintInfo(msg, err, errinfo); Begin if err then debugreturn println("{} : errorno = {}, errorinfo = {}!", msg, err, errinfo); println("[success] {} = {}", msg, errinfo); End