A:这里展示一个实现案例:将用户数据按Excel指定ChartSheet模板生成图型,并将图型转化为图片保存到本地。
封装函数:TSDemo_LoadChartSheetToPic(excelName:String,Data:Array,picPath:String):Boolen
说明:将数据生成模板图型并生成图片到本地
参数:
excelName:字符串,模板Excel路径
Data:数组,图型数据源
picPath:字符串,图片保存的路径
函数实现代码如下:(也可直接下载导为用函数函数:
附件:TSDemo_LoadChartSheetToPic.fun )
Function TSDemo_LoadChartSheetToPic(excelName,Data,picPath);
Begin
//-数据源sheet名
SheetName:= 'Data';
if not isTable(Data) then
Return False;
//数据导出到excel中的Datasheet中
ExportFile2(ftXLS(),'',excelName,data,0,0,SheetName);
//指定ChartSheet模板的数据源
ExcelSetChartSheetDataSource(excelName,'Graph','Data',1,1,length(Data)+1,FieldCount(Data));
ExcelSave(excelName);
//-将Chartsheet导成图片保存在本地
r := GetOleObject("Excel.application",3,excelObj);
App:= excelObj.Workbooks.Open(excelName);
if not ifobj(App) then return;
Chart := App.Charts("Chart");
if picPath then
begin
if fileExists('',picPath) then
FileDelete('',picPath);
Chart.Export(picPath);
end;
ExcelSave(excelName);
ExcelClose(excelName);
App.Save();
return true;
End;
调用案例:其中,Excel图型模板pie.xls如附件:
附件:pie.xls
excelName:='C:\\Users\\xxx\\Desktop\\excel文档\\pie.xls';
picPath:='C:\\Users\\xxx\\Desktop\\excel文档\\pie.jpg';
//-数据源
Data:=array(('a':'test1','b':1),('a':'test2','b':2),('a':'test3','b':3));
return rdo2 TSDemo_LoadChartSheetToPic(excelName,Data,picPath);
//保存的结果:
其图片展示如下: