Delphi导出表格
<div class="cnblogs_code"><pre><span style="color: rgba(0, 0, 0, 1)">作者: nansha
标题: 用Delphi将数据导入到Excel并控制Excel
关键字: 办公系统,数据导入,控制
分类: 开发经验
密级: 公开
(评分: , 回复: </span><span style="color: rgba(128, 0, 128, 1)">3</span>, 阅读: <span style="color: rgba(128, 0, 128, 1)">2252</span><span style="color: rgba(0, 0, 0, 1)">) ??
在日常办公中,用得最多的是Word和Excel,而Excel对数据报表的处理尤为方便(操作公式、打印格式等),如果我们将数据导入到Excel中后,再靠我们平时对Excel熟练的操作很快编辑好我们有用的数据(如领导报表等),通过对Excel的控制,我们可以自动编缉好我们想要的格式和外观。
一、调用Excel的方法:一般情况下有两种方法调用Excel:
</span><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">、 直接使用Delphi自带的组件:在Form中分别放入ExcelApplication, ExcelWorkbook和ExcelWorksheet。
</span><span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)">、动态创建Excel文件:首先创建 Excel 对象,使用ComObj,Excel2000:
</span><span style="color: rgba(0, 0, 255, 1)">var</span><span style="color: rgba(0, 0, 0, 1)"> ExcelApp: Variant;
ExcelApp :</span>= CreateOleObject( <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">Excel.Application</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)"> );
二、导入数据:在程序中,我们可以将查询到的数据(SQL、Access、)导入到Excel中。例如:用Adoquery查询Access中的数据:
</span><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">、先查到所需的数据;
</span><span style="color: rgba(128, 0, 128, 1)">2</span>、导入:i:=<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">;
Adoquery.First;
</span><span style="color: rgba(0, 0, 255, 1)">while</span> <span style="color: rgba(0, 0, 255, 1)">not</span> Adoquery.Eof <span style="color: rgba(0, 0, 255, 1)">do</span><span style="color: rgba(0, 0, 0, 1)">
Begin
ExcelApp.WorkSheets[</span><span style="color: rgba(128, 0, 128, 1)">1</span>].Cells.Value := i;<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">添加序号的值</span>
ExcelApp.WorkSheets[<span style="color: rgba(128, 0, 128, 1)">1</span>].Cells.Value := Adoquery.FieldByName(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">cp_name</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">).AsString;
……
Inc(i);
Adoquery.Next;
End;
当然也可以把Adotable、Adoquery、Table、Query等组件的数据导入到Excel中。
三、Excel的处理:如果在你已知Excel格式的情况下,可以控制Excel,如下:
</span><span style="color: rgba(128, 0, 128, 1)">1</span>、 显示当前窗口:ExcelApp.Visible :=<span style="color: rgba(0, 0, 0, 1)"> True;
</span><span style="color: rgba(128, 0, 128, 1)">2</span>、 更改 Excel 标题栏:ExcelApp.Caption := <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">标题内容</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(128, 0, 128, 1)">3</span><span style="color: rgba(0, 0, 0, 1)">、 添加新工作簿:ExcelApp.WorkBooks.Add;
</span><span style="color: rgba(128, 0, 128, 1)">4</span>、 设置第2个工作表为活动工作表:ExcelApp.WorkSheets[<span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)">].Activate;
</span><span style="color: rgba(128, 0, 128, 1)">5</span>、 给单元格赋值:ExcelApp.Cells[<span style="color: rgba(128, 0, 128, 1)">1</span>,<span style="color: rgba(128, 0, 128, 1)">1</span>].Value := <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">第一行第一列</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(128, 0, 128, 1)">6</span><span style="color: rgba(0, 0, 0, 1)">、 设置指定列的宽度(单位:字符个数),以第一列为例:
ExcelApp.ActiveSheet.Columns[</span><span style="color: rgba(128, 0, 128, 1)">1</span>].ColumnsWidth := <span style="color: rgba(128, 0, 128, 1)">5</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(128, 0, 128, 1)">7</span>、 设置指定行的高度(单位:磅)(<span style="color: rgba(128, 0, 128, 1)">1</span>磅=<span style="color: rgba(128, 0, 128, 1)">0.035</span><span style="color: rgba(0, 0, 0, 1)">厘米),以第二行为例:
ExcelApp.ActiveSheet.Rows[</span><span style="color: rgba(128, 0, 128, 1)">2</span>].RowHeight := <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">0.035</span>; <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 1厘米</span>
<span style="color: rgba(128, 0, 128, 1)">8</span>、文字水平居中:Excelid.worksheets[<span style="color: rgba(128, 0, 128, 1)">1</span>].Rows[<span style="color: rgba(128, 0, 128, 1)">1</span>].HorizontalAlignment :=<span style="color: rgba(0, 0, 0, 1)"> $FFFFEFF4;
文字垂直居中:Excelid.worksheets[</span><span style="color: rgba(128, 0, 128, 1)">1</span>].Rows[<span style="color: rgba(128, 0, 128, 1)">1</span>].VerticalAlignment :=<span style="color: rgba(0, 0, 0, 1)"> $FFFFEFF4;
</span><span style="color: rgba(128, 0, 128, 1)">9</span>、 插入一行或一列:a. ExcelApp.ActiveSheet.Rows[<span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)">].Insert;
b. ExcelApp.ActiveSheet.Columns[</span><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">].Insert;
</span><span style="color: rgba(128, 0, 128, 1)">10</span>、 删除一行或一列:a. ExcelApp.ActiveSheet.Rows[<span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)">].Delete;
b. ExcelApp.ActiveSheet.Columns[</span><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">].Delete;
</span><span style="color: rgba(128, 0, 128, 1)">11</span>、合并单元格:ExcelApp.worksheets[<span style="color: rgba(128, 0, 128, 1)">1</span>].range.Merge(abc);注:要声明变量abc: Variant;</span>
<span style="color: rgba(128, 0, 128, 1)">12</span>、竖行显示文字:ExcelApp.worksheets[<span style="color: rgba(128, 0, 128, 1)">1</span>].Cells.Item[<span style="color: rgba(128, 0, 128, 1)">1</span>,<span style="color: rgba(128, 0, 128, 1)">1</span>].Orientation:=<span style="color: rgba(0, 0, 0, 1)"> xlVertical;
</span><span style="color: rgba(128, 0, 128, 1)">13</span>、单元格加边线:ExcelApp.worksheets[<span style="color: rgba(128, 0, 128, 1)">1</span>].Range.Borders.LineStyle := <span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(128, 0, 128, 1)">14</span>、在第8行之前插入分页符:ExcelApp.WorkSheets[<span style="color: rgba(128, 0, 128, 1)">1</span>].Rows[<span style="color: rgba(128, 0, 128, 1)">8</span>].PageBreak := <span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(128, 0, 128, 1)">15</span>、在第4列之前删除分页符:ExcelApp.ActiveSheet.Columns[<span style="color: rgba(128, 0, 128, 1)">4</span>].PageBreak := <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(128, 0, 128, 1)">16</span>、指定边框线宽度:ExcelApp.ActiveSheet.Range[ <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">B3:D4</span><span style="color: rgba(128, 0, 0, 1)">'</span> ].Borders[<span style="color: rgba(128, 0, 128, 1)">2</span>].Weight := <span style="color: rgba(128, 0, 128, 1)">3</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(128, 0, 128, 1)">1</span>-左 <span style="color: rgba(128, 0, 128, 1)">2</span>-右 <span style="color: rgba(128, 0, 128, 1)">3</span>-顶 <span style="color: rgba(128, 0, 128, 1)">4</span>-底 <span style="color: rgba(128, 0, 128, 1)">5</span>-斜( \ ) <span style="color: rgba(128, 0, 128, 1)">6</span>-斜( /<span style="color: rgba(0, 0, 0, 1)"> )
</span><span style="color: rgba(128, 0, 128, 1)">17</span><span style="color: rgba(0, 0, 0, 1)">、拷贝操作:a.拷贝整个工作表:ExcelApplication1.ActiveSheet.Used.Range.Copy;
b.拷贝指定区域:ExcelApplication1.ActiveSheet.Range[ </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">A1:E2</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)"> ].Copy;
c.从A1位置开始粘贴:ExcelApplication1.ActiveSheet.Range.[ </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">A1</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)"> ].PasteSpecial;
d.从文件尾部开始粘贴:ExcelApplication1.ActiveSheet.Range.PasteSpecial;
</span><span style="color: rgba(128, 0, 128, 1)">18</span>、清除第一行第四列单元格公式:ExcelApp.ActiveSheet.Cells[<span style="color: rgba(128, 0, 128, 1)">1</span>,<span style="color: rgba(128, 0, 128, 1)">4</span><span style="color: rgba(0, 0, 0, 1)">].ClearContents;
</span><span style="color: rgba(128, 0, 128, 1)">19</span>、工作表保存:<span style="color: rgba(0, 0, 255, 1)">if</span> <span style="color: rgba(0, 0, 255, 1)">not</span> ExcelApp.ActiveWorkBook.Saved <span style="color: rgba(0, 0, 255, 1)">then</span><span style="color: rgba(0, 0, 0, 1)">
ExcelApp.ActiveSheet.PrintPreview;
</span><span style="color: rgba(128, 0, 128, 1)">20</span>、工作表另存为:ExcelApp.SaveAs( <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">C:\Excel\Demo1.xls</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)"> );
</span><span style="color: rgba(128, 0, 128, 1)">21</span>、放弃存盘:ExcelApp.ActiveWorkBook.Saved :=<span style="color: rgba(0, 0, 0, 1)"> True;
</span><span style="color: rgba(128, 0, 128, 1)">22</span><span style="color: rgba(0, 0, 0, 1)">、关闭工作簿:ExcelApp.WorkBooks.Close;
</span><span style="color: rgba(128, 0, 128, 1)">23</span><span style="color: rgba(0, 0, 0, 1)">、退出 Excel:ExcelApp.Quit;
下面是有关打印页面控制的语句:
</span><span style="color: rgba(128, 0, 128, 1)">24</span>、设置第一行字体属性:ExcelApp.ActiveSheet.Rows[<span style="color: rgba(128, 0, 128, 1)">1</span>].Font.Name := <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">隶书</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
ExcelApp.ActiveSheet.Rows[</span><span style="color: rgba(128, 0, 128, 1)">1</span>].Font.Color :=<span style="color: rgba(0, 0, 0, 1)"> clBlue;
ExcelApp.ActiveSheet.Rows[</span><span style="color: rgba(128, 0, 128, 1)">1</span>].Font.Bold :=<span style="color: rgba(0, 0, 0, 1)"> True;
ExcelApp.ActiveSheet.Rows[</span><span style="color: rgba(128, 0, 128, 1)">1</span>].Font.UnderLine :=<span style="color: rgba(0, 0, 0, 1)"> True;
ExcelApp.ActiveSheet.Rows[</span><span style="color: rgba(128, 0, 128, 1)">1</span>].Font.size:=<span style="color: rgba(128, 0, 128, 1)">10</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(128, 0, 128, 1)">25</span>、进行页面设置:a.页眉:ExcelApp.ActiveSheet.PageSetup.CenterHeader := <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">报表演示</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
b.页脚:ExcelApp.ActiveSheet.PageSetup.CenterFooter :</span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">共&N页 第&P页</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
c.页眉到顶端边距2cm:ExcelApp.ActiveSheet.PageSetup.HeaderMargin :</span>= <span style="color: rgba(128, 0, 128, 1)">2</span>/<span style="color: rgba(128, 0, 128, 1)">0.035</span><span style="color: rgba(0, 0, 0, 1)">;
d.页脚到底端边距3cm:ExcelApp.ActiveSheet.PageSetup.HeaderMargin :</span>= <span style="color: rgba(128, 0, 128, 1)">3</span>/<span style="color: rgba(128, 0, 128, 1)">0.035</span><span style="color: rgba(0, 0, 0, 1)">;
e.顶边距2cm:ExcelApp.ActiveSheet.PageSetup.TopMargin :</span>= <span style="color: rgba(128, 0, 128, 1)">2</span>/<span style="color: rgba(128, 0, 128, 1)">0.035</span><span style="color: rgba(0, 0, 0, 1)">;
f.底边距2cm:ExcelApp.ActiveSheet.PageSetup.BottomMargin :</span>= <span style="color: rgba(128, 0, 128, 1)">2</span>/<span style="color: rgba(128, 0, 128, 1)">0.035</span><span style="color: rgba(0, 0, 0, 1)">;
g.左边距2cm:ExcelApp.ActiveSheet.PageSetup.LeftMargin :</span>= <span style="color: rgba(128, 0, 128, 1)">2</span>/<span style="color: rgba(128, 0, 128, 1)">0.035</span><span style="color: rgba(0, 0, 0, 1)">;
h.右边距2cm:ExcelApp.ActiveSheet.PageSetup.RightMargin :</span>= <span style="color: rgba(128, 0, 128, 1)">2</span>/<span style="color: rgba(128, 0, 128, 1)">0.035</span><span style="color: rgba(0, 0, 0, 1)">;
i.页面水平居中:ExcelApp.ActiveSheet.PageSetup.CenterHorizontally :</span>= <span style="color: rgba(128, 0, 128, 1)">2</span>/<span style="color: rgba(128, 0, 128, 1)">0.035</span><span style="color: rgba(0, 0, 0, 1)">;
j.页面垂直居中:ExcelApp.ActiveSheet.PageSetup.CenterVertically :</span>= <span style="color: rgba(128, 0, 128, 1)">2</span>/<span style="color: rgba(128, 0, 128, 1)">0.035</span><span style="color: rgba(0, 0, 0, 1)">;
k.打印单元格网线:ExcelApp.ActiveSheet.PageSetup.PrintGridLines :</span>=<span style="color: rgba(0, 0, 0, 1)"> True;
</span><span style="color: rgba(128, 0, 128, 1)">26</span><span style="color: rgba(0, 0, 0, 1)">、打印预览工作表:ExcelApp.ActiveSheet.PrintPreview;
</span><span style="color: rgba(128, 0, 128, 1)">27</span><span style="color: rgba(0, 0, 0, 1)">、打印输出工作表:ExcelApp.ActiveSheet.PrintOut;
对Excel的其他控制:
</span><span style="color: rgba(128, 0, 128, 1)">28</span><span style="color: rgba(0, 0, 0, 1)">、excel的多单元格合计功能:ExcelApp..Cells.Formula
:</span>= <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">= SUM($+IntToStr(BeginRow) +:$ + IntToStr(EndRow) +</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">);
注:声明变量ARow, ACol: Integer;
</span><span style="color: rgba(128, 0, 128, 1)">29</span><span style="color: rgba(0, 0, 0, 1)">、打开已经存在的Excel文件: ExcelApplication1.Workbooks.Open (c:\a.xls
EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,</span><span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">);
在实际当中还有很多的控制分类,如(Excle二维图等,这里不讲了),这里是一些常用的分类,在这希望同行们没给于指正、补充!
注:在数据倒入Excel时不要边倒入边修改,这样会使倒入到Excel的时间加长,一般最好是在倒入完数据后再调Excel的格式(例如页边距、单元个属性、文字属性)。
我有一个例子,源程序可到http:</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">www.playicq.com/dispdocnew.php?id=12946去下载。</span>
<span style="color: rgba(0, 0, 0, 1)">
Delphi操作Excel大全http:</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">www.diybl.com/ 2008-5-13 网络 点击: [ 评论 ]</span>
<span style="color: rgba(0, 0, 0, 1)">文章搜索: 【点击打包该文章】
DELPHI操作excel(转)
(一) 使用动态创建的方法
首先创建 Excel 对象,使用ComObj:
</span><span style="color: rgba(0, 0, 255, 1)">var</span><span style="color: rgba(0, 0, 0, 1)"> ExcelApp: Variant;
ExcelApp :</span>= CreateOleObject( <span style="color: rgba(128, 0, 0, 1)">''</span>Excel.Application<span style="color: rgba(128, 0, 0, 1)">''</span><span style="color: rgba(0, 0, 0, 1)"> );
</span><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">) 显示当前窗口:
ExcelApp.Visible :</span>=<span style="color: rgba(0, 0, 0, 1)"> True;
</span><span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)">) 更改 Excel 标题栏:
ExcelApp.Caption :</span>= <span style="color: rgba(128, 0, 0, 1)">''</span>应用程序调用 Microsoft Excel<span style="color: rgba(128, 0, 0, 1)">''</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(128, 0, 128, 1)">3</span><span style="color: rgba(0, 0, 0, 1)">) 添加新工作簿:
ExcelApp.WorkBooks.Add;
</span><span style="color: rgba(128, 0, 128, 1)">4</span><span style="color: rgba(0, 0, 0, 1)">) 打开已存在的工作簿:
ExcelApp.WorkBooks.Open( </span><span style="color: rgba(128, 0, 0, 1)">''</span>C:\Excel\Demo.xls<span style="color: rgba(128, 0, 0, 1)">''</span><span style="color: rgba(0, 0, 0, 1)"> );
</span><span style="color: rgba(128, 0, 128, 1)">5</span><span style="color: rgba(0, 0, 0, 1)">) 设置第2个工作表为活动工作表:
ExcelApp.WorkSheets[</span><span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)">].Activate;
或
ExcelApp.WorksSheets[ </span><span style="color: rgba(128, 0, 0, 1)">''</span>Sheet2<span style="color: rgba(128, 0, 0, 1)">''</span><span style="color: rgba(0, 0, 0, 1)"> ].Activate;
</span><span style="color: rgba(128, 0, 128, 1)">6</span><span style="color: rgba(0, 0, 0, 1)">) 给单元格赋值:
ExcelApp.Cells[</span><span style="color: rgba(128, 0, 128, 1)">1</span>,<span style="color: rgba(128, 0, 128, 1)">4</span>].Value := <span style="color: rgba(128, 0, 0, 1)">''</span>第一行第四列<span style="color: rgba(128, 0, 0, 1)">''</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(128, 0, 128, 1)">7</span><span style="color: rgba(0, 0, 0, 1)">) 设置指定列的宽度(单位:字符个数),以第一列为例:
ExcelApp.ActiveSheet.Columns[</span><span style="color: rgba(128, 0, 128, 1)">1</span>].ColumnsWidth := <span style="color: rgba(128, 0, 128, 1)">5</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(128, 0, 128, 1)">8</span>) 设置指定行的高度(单位:磅)(<span style="color: rgba(128, 0, 128, 1)">1</span>磅=<span style="color: rgba(128, 0, 128, 1)">0.035</span><span style="color: rgba(0, 0, 0, 1)">厘米),以第二行为例:
ExcelApp.ActiveSheet.Rows[</span><span style="color: rgba(128, 0, 128, 1)">2</span>].RowHeight := <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">0.035</span>; <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 1厘米</span>
<span style="color: rgba(128, 0, 128, 1)">9</span><span style="color: rgba(0, 0, 0, 1)">) 在第8行之前插入分页符:
ExcelApp.WorkSheets[</span><span style="color: rgba(128, 0, 128, 1)">1</span>].Rows[<span style="color: rgba(128, 0, 128, 1)">8</span>].PageBreak := <span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(128, 0, 128, 1)">10</span><span style="color: rgba(0, 0, 0, 1)">) 在第8列之前删除分页符:
ExcelApp.ActiveSheet.Columns[</span><span style="color: rgba(128, 0, 128, 1)">4</span>].PageBreak := <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(128, 0, 128, 1)">11</span><span style="color: rgba(0, 0, 0, 1)">) 指定边框线宽度:
ExcelApp.ActiveSheet.Range[ </span><span style="color: rgba(128, 0, 0, 1)">''</span>B3:D4<span style="color: rgba(128, 0, 0, 1)">''</span> ].Borders[<span style="color: rgba(128, 0, 128, 1)">2</span>].Weight := <span style="color: rgba(128, 0, 128, 1)">3</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(128, 0, 128, 1)">1</span>-左 <span style="color: rgba(128, 0, 128, 1)">2</span>-右 <span style="color: rgba(128, 0, 128, 1)">3</span>-顶 <span style="color: rgba(128, 0, 128, 1)">4</span>-底 <span style="color: rgba(128, 0, 128, 1)">5</span>-斜( \ ) <span style="color: rgba(128, 0, 128, 1)">6</span>-斜( /<span style="color: rgba(0, 0, 0, 1)"> )
</span><span style="color: rgba(128, 0, 128, 1)">12</span><span style="color: rgba(0, 0, 0, 1)">) 清除第一行第四列单元格公式:
ExcelApp.ActiveSheet.Cells[</span><span style="color: rgba(128, 0, 128, 1)">1</span>,<span style="color: rgba(128, 0, 128, 1)">4</span><span style="color: rgba(0, 0, 0, 1)">].ClearContents;
</span><span style="color: rgba(128, 0, 128, 1)">13</span><span style="color: rgba(0, 0, 0, 1)">) 设置第一行字体属性:
ExcelApp.ActiveSheet.Rows[</span><span style="color: rgba(128, 0, 128, 1)">1</span>].Font.Name := <span style="color: rgba(128, 0, 0, 1)">''</span>隶书<span style="color: rgba(128, 0, 0, 1)">''</span><span style="color: rgba(0, 0, 0, 1)">;
ExcelApp.ActiveSheet.Rows[</span><span style="color: rgba(128, 0, 128, 1)">1</span>].Font.Color :=<span style="color: rgba(0, 0, 0, 1)"> clBlue;
ExcelApp.ActiveSheet.Rows[</span><span style="color: rgba(128, 0, 128, 1)">1</span>].Font.Bold :=<span style="color: rgba(0, 0, 0, 1)"> True;
ExcelApp.ActiveSheet.Rows[</span><span style="color: rgba(128, 0, 128, 1)">1</span>].Font.UnderLine :=<span style="color: rgba(0, 0, 0, 1)"> True;
</span><span style="color: rgba(128, 0, 128, 1)">14</span><span style="color: rgba(0, 0, 0, 1)">) 进行页面设置:
a.页眉:
ExcelApp.ActiveSheet.PageSetup.CenterHeader :</span>= <span style="color: rgba(128, 0, 0, 1)">''</span>报表演示<span style="color: rgba(128, 0, 0, 1)">''</span><span style="color: rgba(0, 0, 0, 1)">;
b.页脚:
ExcelApp.ActiveSheet.PageSetup.CenterFooter :</span>= <span style="color: rgba(128, 0, 0, 1)">''</span>第&P页<span style="color: rgba(128, 0, 0, 1)">''</span><span style="color: rgba(0, 0, 0, 1)">;
c.页眉到顶端边距2cm:
ExcelApp.ActiveSheet.PageSetup.HeaderMargin :</span>= <span style="color: rgba(128, 0, 128, 1)">2</span>/<span style="color: rgba(128, 0, 128, 1)">0.035</span><span style="color: rgba(0, 0, 0, 1)">;
d.页脚到底端边距3cm:
ExcelApp.ActiveSheet.PageSetup.HeaderMargin :</span>= <span style="color: rgba(128, 0, 128, 1)">3</span>/<span style="color: rgba(128, 0, 128, 1)">0.035</span><span style="color: rgba(0, 0, 0, 1)">;
e.顶边距2cm:
ExcelApp.ActiveSheet.PageSetup.TopMargin :</span>= <span style="color: rgba(128, 0, 128, 1)">2</span>/<span style="color: rgba(128, 0, 128, 1)">0.035</span><span style="color: rgba(0, 0, 0, 1)">;
f.底边距2cm:
ExcelApp.ActiveSheet.PageSetup.BottomMargin :</span>= <span style="color: rgba(128, 0, 128, 1)">2</span>/<span style="color: rgba(128, 0, 128, 1)">0.035</span><span style="color: rgba(0, 0, 0, 1)">;
g.左边距2cm:
ExcelApp.ActiveSheet.PageSetup.LeftMargin :</span>= <span style="color: rgba(128, 0, 128, 1)">2</span>/<span style="color: rgba(128, 0, 128, 1)">0.035</span><span style="color: rgba(0, 0, 0, 1)">;
h.右边距2cm:
ExcelApp.ActiveSheet.PageSetup.RightMargin :</span>= <span style="color: rgba(128, 0, 128, 1)">2</span>/<span style="color: rgba(128, 0, 128, 1)">0.035</span><span style="color: rgba(0, 0, 0, 1)">;
i.页面水平居中:
ExcelApp.ActiveSheet.PageSetup.CenterHorizontally :</span>= <span style="color: rgba(128, 0, 128, 1)">2</span>/<span style="color: rgba(128, 0, 128, 1)">0.035</span><span style="color: rgba(0, 0, 0, 1)">;
j.页面垂直居中:
ExcelApp.ActiveSheet.PageSetup.CenterVertically :</span>= <span style="color: rgba(128, 0, 128, 1)">2</span>/<span style="color: rgba(128, 0, 128, 1)">0.035</span><span style="color: rgba(0, 0, 0, 1)">;
k.打印单元格网线:
ExcelApp.ActiveSheet.PageSetup.PrintGridLines :</span>=<span style="color: rgba(0, 0, 0, 1)"> True;
</span><span style="color: rgba(128, 0, 128, 1)">15</span><span style="color: rgba(0, 0, 0, 1)">) 拷贝操作:
a.拷贝整个工作表:
ExcelApp.ActiveSheet.Used.Range.Copy;
b.拷贝指定区域:
ExcelApp.ActiveSheet.Range[ </span><span style="color: rgba(128, 0, 0, 1)">''</span>A1:E2<span style="color: rgba(128, 0, 0, 1)">''</span><span style="color: rgba(0, 0, 0, 1)"> ].Copy;
c.从A1位置开始粘贴:
ExcelApp.ActiveSheet.Range.[ </span><span style="color: rgba(128, 0, 0, 1)">''</span>A1<span style="color: rgba(128, 0, 0, 1)">''</span><span style="color: rgba(0, 0, 0, 1)"> ].PasteSpecial;
d.从文件尾部开始粘贴:
ExcelApp.ActiveSheet.Range.PasteSpecial;
</span><span style="color: rgba(128, 0, 128, 1)">16</span><span style="color: rgba(0, 0, 0, 1)">) 插入一行或一列:
a. ExcelApp.ActiveSheet.Rows[</span><span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)">].Insert;
b. ExcelApp.ActiveSheet.Columns[</span><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">].Insert;
</span><span style="color: rgba(128, 0, 128, 1)">17</span><span style="color: rgba(0, 0, 0, 1)">) 删除一行或一列:
a. ExcelApp.ActiveSheet.Rows[</span><span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)">].Delete;
b. ExcelApp.ActiveSheet.Columns[</span><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">].Delete;
</span><span style="color: rgba(128, 0, 128, 1)">18</span><span style="color: rgba(0, 0, 0, 1)">) 打印预览工作表:
ExcelApp.ActiveSheet.PrintPreview;
</span><span style="color: rgba(128, 0, 128, 1)">19</span><span style="color: rgba(0, 0, 0, 1)">) 打印输出工作表:
ExcelApp.ActiveSheet.PrintOut;
</span><span style="color: rgba(128, 0, 128, 1)">20</span><span style="color: rgba(0, 0, 0, 1)">) 工作表保存:
</span><span style="color: rgba(0, 0, 255, 1)">if</span> <span style="color: rgba(0, 0, 255, 1)">not</span> ExcelApp.ActiveWorkBook.Saved <span style="color: rgba(0, 0, 255, 1)">then</span><span style="color: rgba(0, 0, 0, 1)">
ExcelApp.ActiveSheet.PrintPreview;
</span><span style="color: rgba(128, 0, 128, 1)">21</span><span style="color: rgba(0, 0, 0, 1)">) 工作表另存为:
ExcelApp.SaveAs( </span><span style="color: rgba(128, 0, 0, 1)">''</span>C:\Excel\Demo1.xls<span style="color: rgba(128, 0, 0, 1)">''</span><span style="color: rgba(0, 0, 0, 1)"> );
</span><span style="color: rgba(128, 0, 128, 1)">22</span><span style="color: rgba(0, 0, 0, 1)">) 放弃存盘:
ExcelApp.ActiveWorkBook.Saved :</span>=<span style="color: rgba(0, 0, 0, 1)"> True;
</span><span style="color: rgba(128, 0, 128, 1)">23</span><span style="color: rgba(0, 0, 0, 1)">) 关闭工作簿:
ExcelApp.WorkBooks.Close;
</span><span style="color: rgba(128, 0, 128, 1)">24</span><span style="color: rgba(0, 0, 0, 1)">) 退出 Excel:
ExcelApp.Quit;
(二) 使用Delphi 控件方法
在Form中分别放入ExcelApplication, ExcelWorkbook和ExcelWorksheet。
</span><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">) 打开Excel
ExcelApplication1.Connect;
</span><span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)">) 显示当前窗口:
ExcelApplication1.Visible[</span><span style="color: rgba(128, 0, 128, 1)">0</span>]:=<span style="color: rgba(0, 0, 0, 1)">True;
</span><span style="color: rgba(128, 0, 128, 1)">3</span><span style="color: rgba(0, 0, 0, 1)">) 更改 Excel 标题栏:
ExcelApplication1.Caption :</span>= <span style="color: rgba(128, 0, 0, 1)">''</span>应用程序调用 Microsoft Excel<span style="color: rgba(128, 0, 0, 1)">''</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(128, 0, 128, 1)">4</span><span style="color: rgba(0, 0, 0, 1)">) 添加新工作簿:
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.Add(EmptyParam,</span><span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">));
</span><span style="color: rgba(128, 0, 128, 1)">5</span><span style="color: rgba(0, 0, 0, 1)">) 添加新工作表:
</span><span style="color: rgba(0, 0, 255, 1)">var</span><span style="color: rgba(0, 0, 0, 1)"> Temp_Worksheet: _WorkSheet;
</span><span style="color: rgba(0, 0, 255, 1)">begin</span><span style="color: rgba(0, 0, 0, 1)">
Temp_Worksheet:</span>=<span style="color: rgba(0, 0, 0, 1)">ExcelWorkbook1.
WorkSheets.Add(EmptyParam,EmptyParam,EmptyParam,EmptyParam,</span><span style="color: rgba(128, 0, 128, 1)">0</span>) <span style="color: rgba(0, 0, 255, 1)">as</span><span style="color: rgba(0, 0, 0, 1)"> _WorkSheet;
ExcelWorkSheet1.ConnectTo(Temp_WorkSheet);
End;
</span><span style="color: rgba(128, 0, 128, 1)">6</span><span style="color: rgba(0, 0, 0, 1)">) 打开已存在的工作簿:
ExcelApplication1.Workbooks.Open (c:\a.xls
EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,</span><span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">)
</span><span style="color: rgba(128, 0, 128, 1)">7</span><span style="color: rgba(0, 0, 0, 1)">) 设置第2个工作表为活动工作表:
ExcelApplication1.WorkSheets[</span><span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)">].Activate; 或
ExcelApplication1.WorksSheets[ </span><span style="color: rgba(128, 0, 0, 1)">''</span>Sheet2<span style="color: rgba(128, 0, 0, 1)">''</span><span style="color: rgba(0, 0, 0, 1)"> ].Activate;
</span><span style="color: rgba(128, 0, 128, 1)">8</span><span style="color: rgba(0, 0, 0, 1)">) 给单元格赋值:
ExcelApplication1.Cells[</span><span style="color: rgba(128, 0, 128, 1)">1</span>,<span style="color: rgba(128, 0, 128, 1)">4</span>].Value := <span style="color: rgba(128, 0, 0, 1)">''</span>第一行第四列<span style="color: rgba(128, 0, 0, 1)">''</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(128, 0, 128, 1)">9</span><span style="color: rgba(0, 0, 0, 1)">) 设置指定列的宽度(单位:字符个数),以第一列为例:
ExcelApplication1.ActiveSheet.Columns[</span><span style="color: rgba(128, 0, 128, 1)">1</span>].ColumnsWidth := <span style="color: rgba(128, 0, 128, 1)">5</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(128, 0, 128, 1)">10</span>) 设置指定行的高度(单位:磅)(<span style="color: rgba(128, 0, 128, 1)">1</span>磅=<span style="color: rgba(128, 0, 128, 1)">0.035</span><span style="color: rgba(0, 0, 0, 1)">厘米),以第二行为例:
ExcelApplication1.ActiveSheet.Rows[</span><span style="color: rgba(128, 0, 128, 1)">2</span>].RowHeight := <span style="color: rgba(128, 0, 128, 1)">1</span>/<span style="color: rgba(128, 0, 128, 1)">0.035</span>; <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 1厘米</span>
<span style="color: rgba(128, 0, 128, 1)">11</span><span style="color: rgba(0, 0, 0, 1)">) 在第8行之前插入分页符:
ExcelApplication1.WorkSheets[</span><span style="color: rgba(128, 0, 128, 1)">1</span>].Rows[<span style="color: rgba(128, 0, 128, 1)">8</span>].PageBreak := <span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(128, 0, 128, 1)">12</span><span style="color: rgba(0, 0, 0, 1)">) 在第8列之前删除分页符:
ExcelApplication1.ActiveSheet.Columns[</span><span style="color: rgba(128, 0, 128, 1)">4</span>].PageBreak := <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(128, 0, 128, 1)">13</span><span style="color: rgba(0, 0, 0, 1)">) 指定边框线宽度:
ExcelApplication1.ActiveSheet.Range[ </span><span style="color: rgba(128, 0, 0, 1)">''</span>B3:D4<span style="color: rgba(128, 0, 0, 1)">''</span> ].Borders[<span style="color: rgba(128, 0, 128, 1)">2</span>].Weight := <span style="color: rgba(128, 0, 128, 1)">3</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(128, 0, 128, 1)">1</span>-左 <span style="color: rgba(128, 0, 128, 1)">2</span>-右 <span style="color: rgba(128, 0, 128, 1)">3</span>-顶 <span style="color: rgba(128, 0, 128, 1)">4</span>-底 <span style="color: rgba(128, 0, 128, 1)">5</span>-斜( \ ) <span style="color: rgba(128, 0, 128, 1)">6</span>-斜( /<span style="color: rgba(0, 0, 0, 1)"> )
</span><span style="color: rgba(128, 0, 128, 1)">14</span><span style="color: rgba(0, 0, 0, 1)">) 清除第一行第四列单元格公式:
ExcelApplication1.ActiveSheet.Cells[</span><span style="color: rgba(128, 0, 128, 1)">1</span>,<span style="color: rgba(128, 0, 128, 1)">4</span><span style="color: rgba(0, 0, 0, 1)">].ClearContents;
</span><span style="color: rgba(128, 0, 128, 1)">15</span><span style="color: rgba(0, 0, 0, 1)">) 设置第一行字体属性:
ExcelApplication1.ActiveSheet.Rows[</span><span style="color: rgba(128, 0, 128, 1)">1</span>].Font.Name := <span style="color: rgba(128, 0, 0, 1)">''</span>隶书<span style="color: rgba(128, 0, 0, 1)">''</span><span style="color: rgba(0, 0, 0, 1)">;
ExcelApplication1.ActiveSheet.Rows[</span><span style="color: rgba(128, 0, 128, 1)">1</span>].Font.Color :=<span style="color: rgba(0, 0, 0, 1)"> clBlue;
ExcelApplication1.ActiveSheet.Rows[</span><span style="color: rgba(128, 0, 128, 1)">1</span>].Font.Bold :=<span style="color: rgba(0, 0, 0, 1)"> True;
ExcelApplication1.ActiveSheet.Rows[</span><span style="color: rgba(128, 0, 128, 1)">1</span>].Font.UnderLine :=<span style="color: rgba(0, 0, 0, 1)"> True;
</span><span style="color: rgba(128, 0, 128, 1)">16</span><span style="color: rgba(0, 0, 0, 1)">) 进行页面设置:
a.页眉:
ExcelApplication1.ActiveSheet.PageSetup.CenterHeader :</span>= <span style="color: rgba(128, 0, 0, 1)">''</span>报表演示<span style="color: rgba(128, 0, 0, 1)">''</span><span style="color: rgba(0, 0, 0, 1)">;
b.页脚:
ExcelApplication1.ActiveSheet.PageSetup.CenterFooter :</span>= <span style="color: rgba(128, 0, 0, 1)">''</span>第&P页<span style="color: rgba(128, 0, 0, 1)">''</span><span style="color: rgba(0, 0, 0, 1)">;
c.页眉到顶端边距2cm:
ExcelApplication1.ActiveSheet.PageSetup.HeaderMargin :</span>= <span style="color: rgba(128, 0, 128, 1)">2</span>/<span style="color: rgba(128, 0, 128, 1)">0.035</span><span style="color: rgba(0, 0, 0, 1)">;
d.页脚到底端边距3cm:
ExcelApplication1.ActiveSheet.PageSetup.HeaderMargin :</span>= <span style="color: rgba(128, 0, 128, 1)">3</span>/<span style="color: rgba(128, 0, 128, 1)">0.035</span><span style="color: rgba(0, 0, 0, 1)">;
e.顶边距2cm:
ExcelApplication1.ActiveSheet.PageSetup.TopMargin :</span>= <span style="color: rgba(128, 0, 128, 1)">2</span>/<span style="color: rgba(128, 0, 128, 1)">0.035</span><span style="color: rgba(0, 0, 0, 1)">;
f.底边距2cm:
ExcelApplication1.ActiveSheet.PageSetup.BottomMargin :</span>= <span style="color: rgba(128, 0, 128, 1)">2</span>/<span style="color: rgba(128, 0, 128, 1)">0.035</span><span style="color: rgba(0, 0, 0, 1)">;
g.左边距2cm:
ExcelAppli
cation1.ActiveSheet.PageSetup.LeftMargin :</span>= <span style="color: rgba(128, 0, 128, 1)">2</span>/<span style="color: rgba(128, 0, 128, 1)">0.035</span><span style="color: rgba(0, 0, 0, 1)">;
h.右边距2cm:
ExcelApplication1.ActiveSheet.PageSetup.RightMargin :</span>= <span style="color: rgba(128, 0, 128, 1)">2</span>/<span style="color: rgba(128, 0, 128, 1)">0.035</span><span style="color: rgba(0, 0, 0, 1)">;
i.页面水平居中:
ExcelApplication1.ActiveSheet.PageSetup.CenterHorizontally :</span>= <span style="color: rgba(128, 0, 128, 1)">2</span>/<span style="color: rgba(128, 0, 128, 1)">0.035</span><span style="color: rgba(0, 0, 0, 1)">;
j.页面垂直居中:
ExcelApplication1.ActiveSheet.PageSetup.CenterVertically :</span>= <span style="color: rgba(128, 0, 128, 1)">2</span>/<span style="color: rgba(128, 0, 128, 1)">0.035</span><span style="color: rgba(0, 0, 0, 1)">;
k.打印单元格网线:
ExcelApplication1.ActiveSheet.PageSetup.PrintGridLines :</span>=<span style="color: rgba(0, 0, 0, 1)"> True;
</span><span style="color: rgba(128, 0, 128, 1)">17</span><span style="color: rgba(0, 0, 0, 1)">) 拷贝操作:
a.拷贝整个工作表:
ExcelApplication1.ActiveSheet.Used.Range.Copy;
b.拷贝指定区域:
ExcelApplication1.ActiveSheet.Range[ </span><span style="color: rgba(128, 0, 0, 1)">''</span>A1:E2<span style="color: rgba(128, 0, 0, 1)">''</span><span style="color: rgba(0, 0, 0, 1)"> ].Copy;
c.从A1位置开始粘贴:
ExcelApplication1.ActiveSheet.Range.[ </span><span style="color: rgba(128, 0, 0, 1)">''</span>A1<span style="color: rgba(128, 0, 0, 1)">''</span><span style="color: rgba(0, 0, 0, 1)"> ].PasteSpecial;
d.从文件尾部开始粘贴:
ExcelApplication1.ActiveSheet.Range.PasteSpecial;
</span><span style="color: rgba(128, 0, 128, 1)">18</span><span style="color: rgba(0, 0, 0, 1)">) 插入一行或一列:
a. ExcelApplication1.ActiveSheet.Rows[</span><span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)">].Insert;
b. ExcelApplication1.ActiveSheet.Columns[</span><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">].Insert;
</span><span style="color: rgba(128, 0, 128, 1)">19</span><span style="color: rgba(0, 0, 0, 1)">) 删除一行或一列:
a. ExcelApplication1.ActiveSheet.Rows[</span><span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)">].Delete;
b. ExcelApplication1.ActiveSheet.Columns[</span><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">].Delete;
</span><span style="color: rgba(128, 0, 128, 1)">20</span><span style="color: rgba(0, 0, 0, 1)">) 打印预览工作表:
ExcelApplication1.ActiveSheet.PrintPreview;
</span><span style="color: rgba(128, 0, 128, 1)">21</span><span style="color: rgba(0, 0, 0, 1)">) 打印输出工作表:
ExcelApplication1.ActiveSheet.PrintOut;
</span><span style="color: rgba(128, 0, 128, 1)">22</span><span style="color: rgba(0, 0, 0, 1)">) 工作表保存:
</span><span style="color: rgba(0, 0, 255, 1)">if</span> <span style="color: rgba(0, 0, 255, 1)">not</span> ExcelApplication1.ActiveWorkBook.Saved <span style="color: rgba(0, 0, 255, 1)">then</span><span style="color: rgba(0, 0, 0, 1)">
ExcelApplication1.ActiveSheet.PrintPreview;
</span><span style="color: rgba(128, 0, 128, 1)">23</span><span style="color: rgba(0, 0, 0, 1)">) 工作表另存为:
ExcelApplication1.SaveAs( </span><span style="color: rgba(128, 0, 0, 1)">''</span>C:\Excel\Demo1.xls<span style="color: rgba(128, 0, 0, 1)">''</span><span style="color: rgba(0, 0, 0, 1)"> );
</span><span style="color: rgba(128, 0, 128, 1)">24</span><span style="color: rgba(0, 0, 0, 1)">) 放弃存盘:
ExcelApplication1.ActiveWorkBook.Saved :</span>=<span style="color: rgba(0, 0, 0, 1)"> True;
</span><span style="color: rgba(128, 0, 128, 1)">25</span><span style="color: rgba(0, 0, 0, 1)">) 关闭工作簿:
ExcelApplication1.WorkBooks.Close;
</span><span style="color: rgba(128, 0, 128, 1)">26</span><span style="color: rgba(0, 0, 0, 1)">) 退出 Excel:
ExcelApplication1.Quit;
ExcelApplication1.Disconnect;
(三) 使用Delphi 控制Excle二维图
在Form中分别放入ExcelApplication, ExcelWorkbook和ExcelWorksheet
</span><span style="color: rgba(0, 0, 255, 1)">var</span><span style="color: rgba(0, 0, 0, 1)"> asheet1,achart, range:variant;
</span><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">)选择当第一个工作薄第一个工作表
asheet1:</span>=ExcelApplication1.Workbooks[<span style="color: rgba(128, 0, 128, 1)">1</span>].Worksheets[<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">];
</span><span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)">)增加一个二维图
achart:</span>=asheet1.chartobjects.add(<span style="color: rgba(128, 0, 128, 1)">100</span>,<span style="color: rgba(128, 0, 128, 1)">100</span>,<span style="color: rgba(128, 0, 128, 1)">200</span>,<span style="color: rgba(128, 0, 128, 1)">200</span><span style="color: rgba(0, 0, 0, 1)">);
</span><span style="color: rgba(128, 0, 128, 1)">3</span><span style="color: rgba(0, 0, 0, 1)">)选择二维图的形态
achart.chart.charttype:</span>=<span style="color: rgba(128, 0, 128, 1)">4</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(128, 0, 128, 1)">4</span><span style="color: rgba(0, 0, 0, 1)">)给二维图赋值
series:</span>=<span style="color: rgba(0, 0, 0, 1)">achart.chart.seriescollection;
range:</span>=<span style="color: rgba(0, 0, 0, 1)">sheet1!r2c3:r3c9;
series.add(range,true);
</span><span style="color: rgba(128, 0, 128, 1)">5</span><span style="color: rgba(0, 0, 0, 1)">)加上二维图的标题
achart.Chart.HasTitle:</span>=<span style="color: rgba(0, 0, 0, 1)">True;
achart.Chart.ChartTitle.Characters.Text:</span>=<span style="color: rgba(0, 0, 0, 1)">’ Excle二维图’
</span><span style="color: rgba(128, 0, 128, 1)">6</span><span style="color: rgba(0, 0, 0, 1)">)改变二维图的标题字体大小
achart.Chart.ChartTitle.Font.size:</span>=<span style="color: rgba(128, 0, 128, 1)">6</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(128, 0, 128, 1)">7</span><span style="color: rgba(0, 0, 0, 1)">)给二维图加下标说明
achart.Chart.Axes(xlCategory, xlPrimary).HasTitle :</span>=<span style="color: rgba(0, 0, 0, 1)"> True;
achart.Chart.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text :</span>= <span style="color: rgba(128, 0, 0, 1)">''</span>下标说明<span style="color: rgba(128, 0, 0, 1)">''</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(128, 0, 128, 1)">8</span><span style="color: rgba(0, 0, 0, 1)">)给二维图加左标说明
achart.Chart.Axes(xlValue, xlPrimary).HasTitle :</span>=<span style="color: rgba(0, 0, 0, 1)"> True;
achart.Chart.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text :</span>= <span style="color: rgba(128, 0, 0, 1)">''</span>左标说明<span style="color: rgba(128, 0, 0, 1)">''</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(128, 0, 128, 1)">9</span><span style="color: rgba(0, 0, 0, 1)">)给二维图加右标说明
achart.Chart.Axes(xlValue, xlSecondary).HasTitle :</span>=<span style="color: rgba(0, 0, 0, 1)"> True;
achart.Chart.Axes(xlValue, xlSecondary).AxisTitle.Characters.Text :</span>= <span style="color: rgba(128, 0, 0, 1)">''</span>右标说明<span style="color: rgba(128, 0, 0, 1)">''</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(128, 0, 128, 1)">10</span><span style="color: rgba(0, 0, 0, 1)">)改变二维图的显示区大小
achart.Chart.PlotArea.Left :</span>= <span style="color: rgba(128, 0, 128, 1)">5</span><span style="color: rgba(0, 0, 0, 1)">;
achart.Chart.PlotArea.Width :</span>= <span style="color: rgba(128, 0, 128, 1)">223</span><span style="color: rgba(0, 0, 0, 1)">;
achart.Chart.PlotArea.Height :</span>= <span style="color: rgba(128, 0, 128, 1)">108</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(128, 0, 128, 1)">11</span><span style="color: rgba(0, 0, 0, 1)">)给二维图坐标轴加上说明
achart.chart.seriescollection[</span><span style="color: rgba(128, 0, 128, 1)">1</span>].NAME:=<span style="color: rgba(128, 0, 0, 1)">''</span>坐标轴说明<span style="color: rgba(128, 0, 0, 1)">''</span><span style="color: rgba(0, 0, 0, 1)">;
文章出处:http:</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">www.diybl.com/course/4_webprogram/asp.net/asp_netshl/2008513/115828_2.html</span>
<span style="color: rgba(0, 0, 0, 1)">
关于如何将QUERY结果输出到EXCEL表格中的最简单实现问题。楼主huangrx(一水寒)</span><span style="color: rgba(128, 0, 128, 1)">2002</span>-<span style="color: rgba(128, 0, 128, 1)">12</span>-<span style="color: rgba(128, 0, 128, 1)">09</span> <span style="color: rgba(128, 0, 128, 1)">19</span>:<span style="color: rgba(128, 0, 128, 1)">38</span>:<span style="color: rgba(128, 0, 128, 1)">54</span> 在 Delphi /<span style="color: rgba(0, 0, 0, 1)"> VCL组件开发及应用 提问
各位大虾:这是我参照某参考书更改的,可是实现不了,COMPILE时,出现如下错误: Unit1.pas(</span><span style="color: rgba(128, 0, 128, 1)">45</span>): Undeclared identifier: <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">createoleobject</span><span style="color: rgba(128, 0, 0, 1)">'</span>
<span style="color: rgba(0, 0, 255, 1)">procedure</span><span style="color: rgba(0, 0, 0, 1)"> Tform1.EXCEL1Click(Sender: TObject);
</span><span style="color: rgba(0, 0, 255, 1)">var</span><span style="color: rgba(0, 0, 0, 1)">
ExcelApp,MyWorkBook:Variant;
i:integer;
</span><span style="color: rgba(0, 0, 255, 1)">begin</span><span style="color: rgba(0, 0, 0, 1)">
ExcelApp:</span>=createoleobject(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">Excel.Application</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">);
MyWorkBook:</span>=CreateOleObject(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">Excel.Sheet</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">);
MyWorkBook:</span>=<span style="color: rgba(0, 0, 0, 1)">ExcelApp.workbooks.add;
query1.First;
i:</span>=<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">while</span> <span style="color: rgba(0, 0, 255, 1)">not</span> query1.Eof <span style="color: rgba(0, 0, 255, 1)">do</span>
<span style="color: rgba(0, 0, 255, 1)">begin</span><span style="color: rgba(0, 0, 0, 1)">
i:</span>=i+<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">;
MyWorkBook.WorkSheets[</span><span style="color: rgba(128, 0, 128, 1)">1</span>].Cells.Value:=query1.FieldByName(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">deptno</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">).asstring;
MyWorkBook.WorkSheets[</span><span style="color: rgba(128, 0, 128, 1)">1</span>].Cells.Value:=query1.MainTable.FieldByName(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">dept_name</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">).asstring;
query1.Next;
</span><span style="color: rgba(0, 0, 255, 1)">end</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">end</span><span style="color: rgba(0, 0, 0, 1)">;
为什么?是不是要添加什么控件呀?望详复,谢谢啦!
问题点数:</span><span style="color: rgba(128, 0, 128, 1)">100</span>、回复次数:<span style="color: rgba(128, 0, 128, 1)">6</span><span style="color: rgba(0, 0, 0, 1)">
Top
</span><span style="color: rgba(128, 0, 128, 1)">1</span> 楼neilwq(啄木鸟)回复于 <span style="color: rgba(128, 0, 128, 1)">2002</span>-<span style="color: rgba(128, 0, 128, 1)">12</span>-<span style="color: rgba(128, 0, 128, 1)">09</span> <span style="color: rgba(128, 0, 128, 1)">20</span>:<span style="color: rgba(128, 0, 128, 1)">01</span>:<span style="color: rgba(128, 0, 128, 1)">35</span> 得分 50<span style="color: rgba(0, 0, 255, 1)">uses</span><span style="color: rgba(0, 0, 0, 1)"> comobj;
Top
</span><span style="color: rgba(128, 0, 128, 1)">2</span> 楼kkk123(<span style="color: rgba(128, 0, 128, 1)">11</span>)回复于 <span style="color: rgba(128, 0, 128, 1)">2002</span>-<span style="color: rgba(128, 0, 128, 1)">12</span>-<span style="color: rgba(128, 0, 128, 1)">09</span> <span style="color: rgba(128, 0, 128, 1)">20</span>:<span style="color: rgba(128, 0, 128, 1)">01</span>:<span style="color: rgba(128, 0, 128, 1)">39</span> 得分 <span style="color: rgba(128, 0, 128, 1)">0</span> 提供使用ADO之方式供你參考, 不須open Excel, 不須Runtime <span style="color: rgba(0, 0, 255, 1)">Create</span><span style="color: rgba(0, 0, 0, 1)"> ODBC
DesignTime加入一TADOQuery (用來連.mdb)
連Excel之ADOQuery Runtime create
...</span><span style="color: rgba(0, 0, 255, 1)">var</span> form1:TForm1; ExcelConnectStr : <span style="color: rgba(0, 0, 255, 1)">string</span>; <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">用來連Excel檔之字串implementation{$R *.DFM}//輸入Excel之檔, Create一ADOQueryfunction OpenXlsAsADO(owner:TComponent;fname:string;sheetname:string='sheet1'):TAdoQUery;var s,sht:string;begin Result:=TAdoQuery.Create(owner); try s:=AnsiReplaceStr(ExcelConnectstr, 'xxx.xls', fname); Result.ConnectionString:=s; sht:='['+SheetName+'$'+']'; Result.sql.text:='select * from '+sht; Result.open; except result.Free; end;end;procedure TForm1.Button1Click(Sender: TObject);var sql:string; ADOQ:TADOQuery;begin if OpenDia1.execute then begin ADOQ:=OpenXlsAsADO(self,OpenDia1.filename); //open .xls檔成ado// adoquery1連向 .mdb AdoQuery1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;'+ 'Data Source=D:\bbb\dream.mdb;Persist Security Info=False'; ADOQ.first; while not ADOQ.eof do begin sql:='Insert INTO file(DirId,FileId,File,KeyWord,Script,Fav) Values'; sql:=sql+'('''+adoq.Fields.asstring; sql:=sql+''','''+adoq.Fields.asstring; sql:=sql+''','''+adoq.Fields.asstring; sql:=sql+''','''+adoq.Fields.asstring; sql:=sql+''','''+adoq.Fields.asstring; sql:=sql+''','''+adoq.Fields.asstring+''')'; AdoQuery1.SQL.Text:=sql; AdoQuery1.ExecSQL; AdoQ.Next; end; adoq.free; end;end;initialization //連Excel之樣板字串 ExcelConnectstr:='Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;'+ 'Data Source=xxx.xls;'+ 'Mode=Share Deny None;Extended Properties=Excel 8.0;'+ 'Persist Security Info=False;Jet OLEDB:System database="";'+ 'Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";'+ 'Jet OLEDB:Engine Type=35;Jet OLEDB:Database Locking Mode=0;'+ 'Jet OLEDB:Global Partial Bulk Ops=2;'+ 'Jet OLEDB:Global Bulk Transactions=1;'+ 'Jet OLEDB:New Database Password="";'+ 'Jet OLEDB:Create System Database=False;'+ 'Jet OLEDB:Encrypt Database=False;'+ 'Jet OLEDB:Don''t Copy Locale on Compact=False;'+ 'Jet OLEDB:Compact Without Replica Repair=False;'+ 'Jet OLEDB:SFP=False';end. </span>
<span style="color: rgba(0, 0, 0, 1)">
Top
</span><span style="color: rgba(128, 0, 128, 1)">3</span> 楼huangrx(一水寒)回复于 <span style="color: rgba(128, 0, 128, 1)">2002</span>-<span style="color: rgba(128, 0, 128, 1)">12</span>-<span style="color: rgba(128, 0, 128, 1)">09</span> <span style="color: rgba(128, 0, 128, 1)">20</span>:<span style="color: rgba(128, 0, 128, 1)">14</span>:<span style="color: rgba(128, 0, 128, 1)">42</span> 得分 <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)"> 谢谢州木鸟大哥,编译可以通过了。
再问一下,在我这个程序中,要让结果以EXCEL显示出来,还要什么控件呢?
另:KKK123大虾,你写的东东,菜鸟我实在是看不懂,多谢了。
Top
</span><span style="color: rgba(128, 0, 128, 1)">4</span> 楼tangyong_delphi()回复于 <span style="color: rgba(128, 0, 128, 1)">2002</span>-<span style="color: rgba(128, 0, 128, 1)">12</span>-<span style="color: rgba(128, 0, 128, 1)">09</span> <span style="color: rgba(128, 0, 128, 1)">20</span>:<span style="color: rgba(128, 0, 128, 1)">39</span>:<span style="color: rgba(128, 0, 128, 1)">26</span> 得分 50<span style="color: rgba(0, 0, 255, 1)">unit</span><span style="color: rgba(0, 0, 0, 1)"> Unit1;
</span><span style="color: rgba(0, 0, 255, 1)">interface</span>
<span style="color: rgba(0, 0, 255, 1)">uses</span><span style="color: rgba(0, 0, 0, 1)">
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Grids, DBGrids, Db, DBTables, Excel97, OleServer;
</span><span style="color: rgba(0, 0, 255, 1)">type</span><span style="color: rgba(0, 0, 0, 1)">
TForm1 </span>= <span style="color: rgba(0, 0, 255, 1)">class</span><span style="color: rgba(0, 0, 0, 1)">(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Edit1: TEdit;
DataSource1: TDataSource;
Query1: TQuery;
DBGrid1: TDBGrid;
ExcelWorksheet1: TExcelWorksheet;
ExcelWorkbook1: TExcelWorkbook;
ExcelApplication1: TExcelApplication;
Label1: TLabel;
</span><span style="color: rgba(0, 0, 255, 1)">procedure</span><span style="color: rgba(0, 0, 0, 1)"> Button5Click(Sender: TObject);
</span><span style="color: rgba(0, 0, 255, 1)">procedure</span><span style="color: rgba(0, 0, 0, 1)"> Button1Click(Sender: TObject);
</span><span style="color: rgba(0, 0, 255, 1)">procedure</span><span style="color: rgba(0, 0, 0, 1)"> Button2Click(Sender: TObject);
</span><span style="color: rgba(0, 0, 255, 1)">procedure</span><span style="color: rgba(0, 0, 0, 1)"> Button3Click(Sender: TObject);
</span><span style="color: rgba(0, 0, 255, 1)">procedure</span><span style="color: rgba(0, 0, 0, 1)"> Button4Click(Sender: TObject);
</span><span style="color: rgba(0, 0, 255, 1)">private</span>
<span style="color: rgba(0, 128, 0, 1)">{</span><span style="color: rgba(0, 128, 0, 1)"> Private declarations </span><span style="color: rgba(0, 128, 0, 1)">}</span>
<span style="color: rgba(0, 0, 255, 1)">public</span>
<span style="color: rgba(0, 128, 0, 1)">{</span><span style="color: rgba(0, 128, 0, 1)"> Public declarations </span><span style="color: rgba(0, 128, 0, 1)">}</span>
<span style="color: rgba(0, 0, 255, 1)">end</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">var</span><span style="color: rgba(0, 0, 0, 1)">
Form1: TForm1;
</span><span style="color: rgba(0, 0, 255, 1)">implementation</span>
<span style="color: rgba(0, 128, 0, 1)">{</span><span style="color: rgba(0, 128, 0, 1)">$R *.DFM</span><span style="color: rgba(0, 128, 0, 1)">}</span>
<span style="color: rgba(0, 0, 255, 1)">procedure</span><span style="color: rgba(0, 0, 0, 1)"> TForm1.Button5Click(Sender: TObject);
</span><span style="color: rgba(0, 0, 255, 1)">begin</span><span style="color: rgba(0, 0, 0, 1)">
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Text :</span>=<span style="color: rgba(0, 0, 0, 1)">Edit1.Text ;
Query1.Open;
</span><span style="color: rgba(0, 0, 255, 1)">end</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">procedure</span><span style="color: rgba(0, 0, 0, 1)"> TForm1.Button1Click(Sender: TObject);
</span><span style="color: rgba(0, 0, 255, 1)">var</span><span style="color: rgba(0, 0, 0, 1)">
i,row,column:integer;
</span><span style="color: rgba(0, 0, 255, 1)">begin</span><span style="color: rgba(0, 0, 0, 1)">
Try
ExcelApplication1.Connect;
Except
MessageDlg(</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">Excel may not be installed</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">,
mtError, , </span><span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">);
Abort;
End;
ExcelApplication1.Visible[</span><span style="color: rgba(128, 0, 128, 1)">0</span>]:=<span style="color: rgba(0, 0, 0, 1)">True;
ExcelApplication1.Caption:</span>=<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">Excel Application</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
ExcelApplication1.Workbooks.Add(Null,</span><span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">);
ExcelWorkbook1.ConnectTo
(ExcelApplication1.Workbooks[</span><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">]);
ExcelWorksheet1.ConnectTo
(ExcelWorkbook1.Worksheets[</span><span style="color: rgba(128, 0, 128, 1)">1</span>] <span style="color: rgba(0, 0, 255, 1)">as</span><span style="color: rgba(0, 0, 0, 1)"> _Worksheet);
Query1.Open;
row:</span>=<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">;
column:</span>=<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">for</span> i:=<span style="color: rgba(128, 0, 128, 1)">0</span> <span style="color: rgba(0, 0, 255, 1)">to</span> query1.FieldCount -<span style="color: rgba(128, 0, 128, 1)">1</span> <span style="color: rgba(0, 0, 255, 1)">do</span> <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">列标题 </span>
<span style="color: rgba(0, 0, 255, 1)">begin</span><span style="color: rgba(0, 0, 0, 1)">
ExcelWorksheet1.Cells.Item:</span>=<span style="color: rgba(0, 0, 0, 1)">dbgrid1.Fields.DisplayLabel ;
column:</span>=column+<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">end</span><span style="color: rgba(0, 0, 0, 1)">;
row:</span>=row+<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">;
While Not(Query1.Eof) </span><span style="color: rgba(0, 0, 255, 1)">do</span> <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">表内容 </span>
<span style="color: rgba(0, 0, 255, 1)">begin</span><span style="color: rgba(0, 0, 0, 1)">
column:</span>=<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">for</span> i:=<span style="color: rgba(128, 0, 128, 1)">1</span> <span style="color: rgba(0, 0, 255, 1)">to</span> Query1.FieldCount <span style="color: rgba(0, 0, 255, 1)">do</span>
<span style="color: rgba(0, 0, 255, 1)">begin</span><span style="color: rgba(0, 0, 0, 1)">
ExcelWorksheet1.Cells.Item:</span>=Query1.fields.AsString;
column:</span>=column+<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">end</span><span style="color: rgba(0, 0, 0, 1)">;
Query1.Next;
row:</span>=row+<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">end</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">end</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">procedure</span><span style="color: rgba(0, 0, 0, 1)"> TForm1.Button2Click(Sender: TObject);
</span><span style="color: rgba(0, 0, 255, 1)">begin</span><span style="color: rgba(0, 0, 0, 1)">
ExcelWorksheet1.PrintPreview;
</span><span style="color: rgba(0, 0, 255, 1)">end</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">procedure</span><span style="color: rgba(0, 0, 0, 1)"> TForm1.Button3Click(Sender: TObject);
</span><span style="color: rgba(0, 0, 255, 1)">begin</span><span style="color: rgba(0, 0, 0, 1)">
ExcelWorksheet1.PrintOut;
</span><span style="color: rgba(0, 0, 255, 1)">end</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">procedure</span><span style="color: rgba(0, 0, 0, 1)"> TForm1.Button4Click(Sender: TObject);
</span><span style="color: rgba(0, 0, 255, 1)">begin</span><span style="color: rgba(0, 0, 0, 1)">
ExcelApplication1.Disconnect;
ExcelApplication1.Quit;
</span><span style="color: rgba(0, 0, 255, 1)">end</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">end</span><span style="color: rgba(0, 0, 0, 1)">.
Top
</span><span style="color: rgba(128, 0, 128, 1)">5</span> 楼huangrx(一水寒)回复于 <span style="color: rgba(128, 0, 128, 1)">2002</span>-<span style="color: rgba(128, 0, 128, 1)">12</span>-<span style="color: rgba(128, 0, 128, 1)">09</span> <span style="color: rgba(128, 0, 128, 1)">20</span>:<span style="color: rgba(128, 0, 128, 1)">47</span>:<span style="color: rgba(128, 0, 128, 1)">46</span> 得分 <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)"> tangyong_delphi:
谢谢你!
不过,你用的是EXCEL97,用EXCEL2000代替可以吗?
Top
</span><span style="color: rgba(128, 0, 128, 1)">6</span> 楼tangyong_delphi()回复于 <span style="color: rgba(128, 0, 128, 1)">2002</span>-<span style="color: rgba(128, 0, 128, 1)">12</span>-<span style="color: rgba(128, 0, 128, 1)">13</span> <span style="color: rgba(128, 0, 128, 1)">19</span>:<span style="color: rgba(128, 0, 128, 1)">23</span>:<span style="color: rgba(128, 0, 128, 1)">08</span> 得分 <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)"> 我用的也是EXCEL2000,书上的代码是Excel97。Delphi5用EXCEL2000好像要下载补丁。
DELPHI导出EXCEL问题
悬赏分:</span><span style="color: rgba(128, 0, 128, 1)">200</span> - 解决时间:<span style="color: rgba(128, 0, 128, 1)">2007</span>-<span style="color: rgba(128, 0, 128, 1)">7</span>-<span style="color: rgba(128, 0, 128, 1)">15</span> <span style="color: rgba(128, 0, 128, 1)">15</span>:<span style="color: rgba(128, 0, 128, 1)">50</span><span style="color: rgba(0, 0, 0, 1)">
我用DELPHI编了一个人事程序,加了个导出EXCEL的功能,但是导出人事资料的时候,在EXCEL中看的时候出现以下问题:十五位数的可以正确,十八位的后面三位全部变成了三个零,但是如果某人的身份证后面带个字母X的话又可以完全正确的显示出来。请问这是什么问题导致的。如何解决?
问题补充:忘记说了。我用的数据库是SQL的。
提问者: riiyt </span>-<span style="color: rgba(0, 0, 0, 1)"> 经理 四级 最佳答案
list控件显示的数据好像不能直接导出到excel,你可以做一个查询,然后直接导出到Excel(好像是用‘另存为’),如果你要保存在已有的Excel文档,用复制粘贴好了,也挺方便的。
回答者: 孤骛一色 </span>- 助理 二级 <span style="color: rgba(128, 0, 128, 1)">7</span>-<span style="color: rgba(128, 0, 128, 1)">10</span> <span style="color: rgba(128, 0, 128, 1)">12</span>:<span style="color: rgba(128, 0, 128, 1)">09</span><span style="color: rgba(0, 0, 0, 1)">
我来评论</span>>><span style="color: rgba(0, 0, 0, 1)">
评价已经被关闭 目前有 </span><span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)"> 个人评价
好
</span><span style="color: rgba(128, 0, 128, 1)">50</span>% (<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">) 不好
</span><span style="color: rgba(128, 0, 128, 1)">50</span>% (<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">)
相关内容
?delphi dbgrid导出EXCEL问题
?delphi导出数据到Excel
?delphi 如何将stringgrid中数据导出到excel中?
?请问delphi中的listview表中的数据怎么导出到excel....
?求救!怎样在delphi中将SQL数据导出到excel!!!
更多关于delphi 导出excel的问题</span>>><span style="color: rgba(0, 0, 0, 1)">
查看同主题问题:delphi excel
其他回答 共 </span><span style="color: rgba(128, 0, 128, 1)">4</span><span style="color: rgba(0, 0, 0, 1)"> 条
如果你只是为了导数据可以使用sqlserver中的“导入导出数据”功能,非常方便的。
如果是为了编写程序,要使用ODBC连结两端数据,通过程序一条条记录导入
回答者: 错王 </span>- 助理 三级 <span style="color: rgba(128, 0, 128, 1)">7</span>-<span style="color: rgba(128, 0, 128, 1)">5</span> <span style="color: rgba(128, 0, 128, 1)">13</span>:<span style="color: rgba(128, 0, 128, 1)">40</span><span style="color: rgba(0, 0, 0, 1)">
因为你的问题描述不很清楚,无法在电脑上还原你现在的问题.所以只能建议你使用第三方cxGrid控件,导出Excel一句话就搞定,或者使用SMExport控件可以导出多种格式包括Excel...
以上控件在Delphi盒子 www.2ccc.com 上有下载,免费的
回答者: 用户名默默 </span>- 助理 三级 <span style="color: rgba(128, 0, 128, 1)">7</span>-<span style="color: rgba(128, 0, 128, 1)">5</span> <span style="color: rgba(128, 0, 128, 1)">14</span>:<span style="color: rgba(128, 0, 128, 1)">20</span><span style="color: rgba(0, 0, 0, 1)">
导出EXCEL时注意一下,在所有的身份证号码前面加上一个英文的单引号就可以了,就是这个符号“</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">”,这样所有的身份证都为左对齐,并且不会变为科学计数发,不管多少位都没问题。 </span>
<span style="color: rgba(0, 0, 0, 1)">
试试看吧,不会有问题的,那个单引号不会显示出来。
</span><span style="color: rgba(128, 0, 128, 1)">200</span><span style="color: rgba(0, 0, 0, 1)">分好爽哦:)
回答者: 阳光上的桥 </span>- 大魔法师 九级 <span style="color: rgba(128, 0, 128, 1)">7</span>-<span style="color: rgba(128, 0, 128, 1)">5</span> <span style="color: rgba(128, 0, 128, 1)">14</span>:<span style="color: rgba(128, 0, 128, 1)">26</span>
<span style="color: rgba(0, 0, 255, 1)">procedure</span><span style="color: rgba(0, 0, 0, 1)"> saveToExcel();
</span><span style="color: rgba(0, 0, 255, 1)">var</span><span style="color: rgba(0, 0, 0, 1)">
Eclapp,workbook:variant;
i,n:integer;
</span><span style="color: rgba(0, 0, 255, 1)">begin</span>
<span style="color: rgba(0, 0, 255, 1)">if</span> <span style="color: rgba(0, 0, 255, 1)">not</span> adoquery1.Active <span style="color: rgba(0, 0, 255, 1)">then</span><span style="color: rgba(0, 0, 0, 1)"> exit;
</span><span style="color: rgba(0, 0, 255, 1)">if</span> adoquery1.RecordCount<=<span style="color: rgba(128, 0, 128, 1)">0</span> <span style="color: rgba(0, 0, 255, 1)">then</span><span style="color: rgba(0, 0, 0, 1)"> exit;
</span><span style="color: rgba(0, 0, 255, 1)">if</span> application.MessageBox(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">确认导出excel表吗?</span><span style="color: rgba(128, 0, 0, 1)">'</span>,<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">提示</span><span style="color: rgba(128, 0, 0, 1)">'</span>,mb_okcancel+mb_iconinformation)=idcancel <span style="color: rgba(0, 0, 255, 1)">then</span><span style="color: rgba(0, 0, 0, 1)"> exit;
Eclapp :</span>= createoleobject(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">Excel.Application</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">);
Eclapp.workbooks.add;
</span><span style="color: rgba(0, 0, 255, 1)">for</span> i:=<span style="color: rgba(128, 0, 128, 1)">0</span> <span style="color: rgba(0, 0, 255, 1)">to</span> dbgrid2.FieldCount-<span style="color: rgba(128, 0, 128, 1)">1</span> <span style="color: rgba(0, 0, 255, 1)">do</span>
<span style="color: rgba(0, 0, 255, 1)">begin</span><span style="color: rgba(0, 0, 0, 1)">
Eclapp.cells[</span><span style="color: rgba(128, 0, 128, 1)">1</span>,i+<span style="color: rgba(128, 0, 128, 1)">1</span>]:=<span style="color: rgba(0, 0, 0, 1)">dbgrid2.Columns.Title.Caption;
</span><span style="color: rgba(0, 0, 255, 1)">end</span><span style="color: rgba(0, 0, 0, 1)">;
Eclapp.cells[</span><span style="color: rgba(128, 0, 128, 1)">1</span>,<span style="color: rgba(128, 0, 128, 1)">5</span>]:=<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">签字</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
adoquery1.First;
n:</span>=<span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">while</span> <span style="color: rgba(0, 0, 255, 1)">not</span> adoquery1.Eof <span style="color: rgba(0, 0, 255, 1)">do</span>
<span style="color: rgba(0, 0, 255, 1)">begin</span><span style="color: rgba(0, 0, 0, 1)">
eclapp.cells := adoquery1.Fields[<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">].AsString;
eclapp.cells := adoquery1.Fields[<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">].AsString;
eclapp.cells := adoquery1.Fields[<span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)">].AsString;
eclapp.cells := adoquery1.Fields[<span style="color: rgba(128, 0, 128, 1)">4</span><span style="color: rgba(0, 0, 0, 1)">].AsString;
eclapp.cells :=<span style="color: rgba(128, 0, 0, 1)">'</span> <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
inc(n);
adoquery1.Next;
</span><span style="color: rgba(0, 0, 255, 1)">end</span><span style="color: rgba(0, 0, 0, 1)">;
eclapp.cells := <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">满足条件记录的总数为:</span><span style="color: rgba(128, 0, 0, 1)">'</span>+inttostr(adoquery1.RecordCount)+<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">条</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
application.MessageBox(</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">数据导出完成!</span><span style="color: rgba(128, 0, 0, 1)">'</span>,<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">提示</span><span style="color: rgba(128, 0, 0, 1)">'</span>,mb_ok+<span style="color: rgba(0, 0, 0, 1)">mb_iconinformation);
eclapp.visible :</span>=<span style="color: rgba(0, 0, 0, 1)"> true;
</span><span style="color: rgba(0, 0, 255, 1)">end</span><span style="color: rgba(0, 0, 0, 1)">;
delphi导出数据到Excel
悬赏分:</span><span style="color: rgba(128, 0, 128, 1)">50</span> - 解决时间:<span style="color: rgba(128, 0, 128, 1)">2008</span>-<span style="color: rgba(128, 0, 128, 1)">4</span>-<span style="color: rgba(128, 0, 128, 1)">29</span> <span style="color: rgba(128, 0, 128, 1)">10</span>:<span style="color: rgba(128, 0, 128, 1)">24</span><span style="color: rgba(0, 0, 0, 1)">
是一个list页,要把页面中的数据导出来。
代码写全啊 !!!!
谢谢!
提问者: zsy850621 </span>-<span style="color: rgba(0, 0, 0, 1)"> 初学弟子 一级 最佳答案
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">excel导出//////////////////////////////////////////////////////////////开始 </span>
<span style="color: rgba(0, 0, 255, 1)">procedure</span><span style="color: rgba(0, 0, 0, 1)"> TForm6.Button5Click(Sender: TObject);
</span><span style="color: rgba(0, 0, 255, 1)">var</span><span style="color: rgba(0, 0, 0, 1)">
i,j,row,nall:integer;
ExcelApplication1: TExcelApplication;
ExcelWorksheet1: TExcelWorksheet;
ExcelWorkbook1: TExcelWorkbook;
</span><span style="color: rgba(0, 0, 255, 1)">begin</span>
<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">查询是不是有数据 </span>
<span style="color: rgba(0, 0, 255, 1)">if</span> (ADOQuery1.State=dsInactive) <span style="color: rgba(0, 0, 255, 1)">then</span><span style="color: rgba(0, 0, 0, 1)"> exit;
</span><span style="color: rgba(0, 0, 255, 1)">if</span> (adoquery1.RecordCount <=<span style="color: rgba(128, 0, 128, 1)">0</span>) <span style="color: rgba(0, 0, 255, 1)">then</span><span style="color: rgba(0, 0, 0, 1)"> exit;
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">生成excel相关控件,并检测是否安装了excel </span>
<span style="color: rgba(0, 0, 255, 1)">try</span><span style="color: rgba(0, 0, 0, 1)">
ExcelApplication1 :</span>= TExcelApplication.<span style="color: rgba(0, 0, 255, 1)">Create</span><span style="color: rgba(0, 0, 0, 1)">(Application);
ExcelWorksheet1 :</span>= TExcelWorksheet.<span style="color: rgba(0, 0, 255, 1)">Create</span><span style="color: rgba(0, 0, 0, 1)">(Application);
ExcelWorkbook1 :</span>= TExcelWorkbook.<span style="color: rgba(0, 0, 255, 1)">Create</span><span style="color: rgba(0, 0, 0, 1)">(Application);
</span><span style="color: rgba(0, 0, 255, 1)">except</span><span style="color: rgba(0, 0, 0, 1)">
Application.Messagebox(</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">电脑未安装Office中的Excel,必须安装才能使用Excel导出数据功能!</span><span style="color: rgba(128, 0, 0, 1)">'</span>, <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">提示</span><span style="color: rgba(128, 0, 0, 1)">'</span>, MB_ICONERROR +<span style="color: rgba(0, 0, 0, 1)"> mb_Ok);
exit;
</span><span style="color: rgba(0, 0, 255, 1)">end</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">if</span> SaveDialog1.Execute <span style="color: rgba(0, 0, 255, 1)">then</span> <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 打开保存窗口,让用户选择保存的文件名 </span>
<span style="color: rgba(0, 0, 255, 1)">begin</span> <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">inintial excel 初始化EXCEL </span>
<span style="color: rgba(0, 0, 0, 1)">ExcelApplication1.Connect;
ExcelApplication1.Workbooks.Add(Null,</span><span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">);
ExcelWorkBook1.ConnectTo(ExcelApplication1.Workbooks[</span><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">]);
ExcelWorkSheet1.ConnectTo(ExcelWorkBook1.Sheets[</span><span style="color: rgba(128, 0, 128, 1)">1</span>] <span style="color: rgba(0, 0, 255, 1)">as</span><span style="color: rgba(0, 0, 0, 1)"> _WorkSheet);
</span><span style="color: rgba(0, 0, 255, 1)">begin</span><span style="color: rgba(0, 0, 0, 1)">
nall:</span>=Adoquery1.RecordCount; <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">保存记录的数量 </span>
row:=<span style="color: rgba(128, 0, 128, 1)">0</span>; <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">初始化行,定位在第一 行 </span>
<span style="color: rgba(0, 0, 255, 1)">for</span> j:=<span style="color: rgba(128, 0, 128, 1)">0</span> <span style="color: rgba(0, 0, 255, 1)">to</span> Adoquery1.Fields.Count-<span style="color: rgba(128, 0, 128, 1)">1</span> <span style="color: rgba(0, 0, 255, 1)">do</span> <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> column name,统计共有的列数目,把列名逐列导出到EXCEL第一行 </span>
<span style="color: rgba(0, 0, 255, 1)">begin</span><span style="color: rgba(0, 0, 0, 1)">
ExcelWorksheet1.Cells.item[</span><span style="color: rgba(128, 0, 128, 1)">1</span>, j+<span style="color: rgba(128, 0, 128, 1)">1</span>] := Adoquery1.Fields.DisplayName <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">.DisplayLabel; </span>
<span style="color: rgba(0, 0, 255, 1)">end</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">for</span> i:=<span style="color: rgba(128, 0, 128, 1)">0</span> <span style="color: rgba(0, 0, 255, 1)">to</span> nall-<span style="color: rgba(128, 0, 128, 1)">1</span> <span style="color: rgba(0, 0, 255, 1)">do</span> <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> total rows 正规记录,从第一条记录一直到最后循环 </span>
<span style="color: rgba(0, 0, 255, 1)">while</span> <span style="color: rgba(0, 0, 255, 1)">not</span> Adoquery1.Eof <span style="color: rgba(0, 0, 255, 1)">do</span> <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">只要记录没到最后就执行以下动作 </span>
<span style="color: rgba(0, 0, 255, 1)">begin</span>
<span style="color: rgba(0, 0, 255, 1)">for</span> j:=<span style="color: rgba(128, 0, 128, 1)">0</span> <span style="color: rgba(0, 0, 255, 1)">to</span> Adoquery1.Fields.Count-<span style="color: rgba(128, 0, 128, 1)">1</span> <span style="color: rgba(0, 0, 255, 1)">do</span> <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> column逐列导出动作 </span>
<span style="color: rgba(0, 0, 255, 1)">begin</span><span style="color: rgba(0, 0, 0, 1)">
ExcelWorkSheet1.Cells.Item:=Adoquery1.Fields.AsString; <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">〔行,列〕 </span>
<span style="color: rgba(0, 0, 255, 1)">end</span><span style="color: rgba(0, 0, 0, 1)">;
row:</span>=row+<span style="color: rgba(128, 0, 128, 1)">1</span>; <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">行进行增量 </span>
Adoquery1.Next; <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">到下一条记录 </span>
<span style="color: rgba(0, 0, 255, 1)">end</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">end</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">以下是导出完毕后的动作, </span>
ExcelWorkBook1.SaveCopyAs(SaveDialog1.FileName+<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">.xls</span><span style="color: rgba(128, 0, 0, 1)">'</span>); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">加后缀名,确保最后是EXCEL文件 </span>
<span style="color: rgba(0, 0, 0, 1)">ExcelWorkBook1.Close(false);
ExcelApplication1.Disconnect; </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">断开与EXCEL的连接 </span>
Screen.Cursor:=crDefault; <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">指针随记录而动 </span>
Application.Messagebox(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">查询的数据成功导出到Excel文件中!</span><span style="color: rgba(128, 0, 0, 1)">'</span>, <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">提示</span><span style="color: rgba(128, 0, 0, 1)">'</span>, MB_ICONINFORMATION +<span style="color: rgba(0, 0, 0, 1)"> mb_Ok);
</span><span style="color: rgba(0, 0, 255, 1)">end</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">excel导出//////////////////////////////////////////////////////////////结束</span>
<span style="color: rgba(0, 0, 0, 1)">
如何在delphi中导入导出Excel表? 谢谢大家:</span>-<span style="color: rgba(0, 0, 0, 1)">)
请大家帮忙一个问题,如何在delphi中导入导出Excel表? 谢谢大家:</span>-<span style="color: rgba(0, 0, 0, 1)">)
回复人:fhbandsyg 回复时间:</span><span style="color: rgba(128, 0, 128, 1)">2004</span>-<span style="color: rgba(128, 0, 128, 1)">8</span>-<span style="color: rgba(128, 0, 128, 1)">19</span> <span style="color: rgba(128, 0, 128, 1)">21</span>:<span style="color: rgba(128, 0, 128, 1)">52</span>:<span style="color: rgba(128, 0, 128, 1)">00</span><span style="color: rgba(0, 0, 0, 1)">
下面一段代码是将EXCEL表格导入DBF数据库的实例
</span><span style="color: rgba(0, 0, 255, 1)">uses</span><span style="color: rgba(0, 0, 0, 1)"> comobj;
</span><span style="color: rgba(0, 0, 255, 1)">procedure</span><span style="color: rgba(0, 0, 0, 1)"> Texcelfrm.Button1Click(Sender: TObject);
</span><span style="color: rgba(0, 0, 255, 1)">var</span><span style="color: rgba(0, 0, 0, 1)">
oe:variant;
n1:</span><span style="color: rgba(0, 0, 255, 1)">string</span><span style="color: rgba(0, 0, 0, 1)">;
i,j:integer;
</span><span style="color: rgba(0, 0, 255, 1)">begin</span><span style="color: rgba(0, 0, 0, 1)">
oe:</span>=CreateOleObject(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">Excel.Application</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">);
oe.visible:</span>=<span style="color: rgba(0, 0, 0, 1)">true;
oe.workbooks.open(FileListBox1.FileName);
j:</span>=<span style="color: rgba(128, 0, 128, 1)">2</span>;<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">假定标题在第一行</span>
<span style="color: rgba(0, 0, 255, 1)">try</span>
<span style="color: rgba(0, 0, 255, 1)">with</span> adoQuery1 <span style="color: rgba(0, 0, 255, 1)">do</span>
<span style="color: rgba(0, 0, 255, 1)">begin</span><span style="color: rgba(0, 0, 0, 1)">
n1:</span>=<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">insert into tablename(fieldslist) values(:fieldslist)</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
close;
sql.Clear;
sql.Add(n);
</span><span style="color: rgba(0, 0, 255, 1)">while</span> oe.worksheets.cells.text<><span style="color: rgba(128, 0, 0, 1)">''</span> <span style="color: rgba(0, 0, 255, 1)">do</span>
<span style="color: rgba(0, 0, 255, 1)">begin</span>
<span style="color: rgba(0, 0, 255, 1)">for</span> i:=<span style="color: rgba(128, 0, 128, 1)">1</span> <span style="color: rgba(0, 0, 255, 1)">to</span> 列数 <span style="color: rgba(0, 0, 255, 1)">do</span><span style="color: rgba(0, 0, 0, 1)">
Parameters.Items.Value:=<span style="color: rgba(0, 0, 0, 1)">oe.worksheets.cells.text;
execsql;
j:</span>=j+<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">end</span><span style="color: rgba(0, 0, 0, 1)">;
oe.visible:</span>=<span style="color: rgba(0, 0, 0, 1)">false;
showmessage(</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">导入完毕</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">);
</span><span style="color: rgba(0, 0, 255, 1)">end</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">except</span><span style="color: rgba(0, 0, 0, 1)">
oe.visible:</span>=<span style="color: rgba(0, 0, 0, 1)">false;
showmessage(</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">数据库错误或有重复编号,请检查</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">);
</span><span style="color: rgba(0, 0, 255, 1)">end</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">end</span><span style="color: rgba(0, 0, 0, 1)">;
回复人:gg1335 回复时间:</span><span style="color: rgba(128, 0, 128, 1)">2004</span>-<span style="color: rgba(128, 0, 128, 1)">8</span>-<span style="color: rgba(128, 0, 128, 1)">20</span> <span style="color: rgba(128, 0, 128, 1)">9</span>:<span style="color: rgba(128, 0, 128, 1)">05</span>:<span style="color: rgba(128, 0, 128, 1)">00</span><span style="color: rgba(0, 0, 0, 1)">
下面的代码是导出为EXCEL
</span><span style="color: rgba(0, 0, 255, 1)">unit</span><span style="color: rgba(0, 0, 0, 1)"> Unit1;
</span><span style="color: rgba(0, 0, 255, 1)">interface</span>
<span style="color: rgba(0, 0, 255, 1)">uses</span><span style="color: rgba(0, 0, 0, 1)">
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Grids, DBGrids, Db, DBTables, StdCtrls, Excel97, OleServer, ComObj, ActiveX;
</span><span style="color: rgba(0, 0, 255, 1)">type</span><span style="color: rgba(0, 0, 0, 1)">
TForm1 </span>= <span style="color: rgba(0, 0, 255, 1)">class</span><span style="color: rgba(0, 0, 0, 1)">(TForm)
Button1: TButton;
Table1: TTable;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
ExcelApplication1: TExcelApplication;
ExcelWorkbook1
如何在DELPHI中操作EXCEL电子表格
EXCEL电子表格作为办公软件OFFICE中的重要组成部份,是日常办公系统的主要助手,因此许多日常所需的业务方面的数据通常是通过电子表格存取。有时我们需要从日常工作中创建的EXCEL中取得数据进行操作、打印、查询,统计等工作。在这里我将介绍如何利用delphi完成EXCEL电子表格中数据的操作。
一、新建一项目,从控件栏servers中分别选取控件:excelapplication、excelworkbook1、excelworksheet,放到主窗体from1中,并加入stringgrid、三个按钮、五个显示字段内容的EDIT、二个操作显示记录的label、一个用于打开EXCEL电子表格的控件opendialog等,如下图所示:
二、选择excel表</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">按钮,用于打开EXCEL文件,其代码如下: </span>
<span style="color: rgba(0, 0, 255, 1)">procedure</span><span style="color: rgba(0, 0, 0, 1)"> TForm1.Button1Click(Sender: TObject);
</span><span style="color: rgba(0, 0, 255, 1)">var</span><span style="color: rgba(0, 0, 0, 1)"> i,j:integer;
</span><span style="color: rgba(0, 0, 255, 1)">begin</span><span style="color: rgba(0, 0, 0, 1)">
opendialog1.InitialDir:</span>=ExtractFileDir(paramstr(<span style="color: rgba(128, 0, 128, 1)">0</span>));<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">文件的打存放初始路径 </span>
<span style="color: rgba(0, 0, 0, 1)">opendialog1.Execute;
Try
ExcelApplication1.Connect;</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">EXCEL应用程序 </span>
<span style="color: rgba(0, 0, 0, 1)">Except
MessageDlg(</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">Excel may not be installed</span><span style="color: rgba(128, 0, 0, 1)">'</span>,mtError, , <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">);
Abort;
End;
ExcelApplication1.Visible[</span><span style="color: rgba(128, 0, 128, 1)">0</span>]:=<span style="color: rgba(0, 0, 0, 1)">True;
ExcelApplication1.Caption:</span>=<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">Excel Application</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">try</span><span style="color: rgba(0, 0, 0, 1)">
excelapplication1.Workbooks.Open(opendialog1.FileName,
null,null,null,null,null,null,null,null,null,null,null,null,</span><span style="color: rgba(128, 0, 128, 1)">0</span>);<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">打开指定的EXCEL 文件 </span>
<span style="color: rgba(0, 0, 255, 1)">except</span>
<span style="color: rgba(0, 0, 255, 1)">begin</span><span style="color: rgba(0, 0, 0, 1)">
ExcelApplication1.Disconnect;</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">出现异常情况时关闭 </span>
ExcelApplication1.Quit;showmessage(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">请选择EXCEL电子表格!</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">);
exit;
</span><span style="color: rgba(0, 0, 255, 1)">end</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">end</span><span style="color: rgba(0, 0, 0, 1)">;
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[</span><span style="color: rgba(128, 0, 128, 1)">1</span>]);<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">ExcelWorkbook1与Eexcelapplication1建立连接 </span>
ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[<span style="color: rgba(128, 0, 128, 1)">1</span>] <span style="color: rgba(0, 0, 255, 1)">as</span> _Worksheet);<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">Excelworksheet1与Excelworkbook1建立连接 </span><span style="color: rgba(0, 128, 0, 1)">
//</span><span style="color: rgba(0, 128, 0, 1)">开始从EXCEL中取数,放到stringgrid1中,取完数后关闭EXCEL </span>
<span style="color: rgba(0, 0, 255, 1)">for</span> i:=<span style="color: rgba(128, 0, 128, 1)">1</span> <span style="color: rgba(0, 0, 255, 1)">to</span> <span style="color: rgba(128, 0, 128, 1)">1000</span> <span style="color: rgba(0, 0, 255, 1)">do</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">最大取值1000 </span>
<span style="color: rgba(0, 0, 255, 1)">for</span> j:=<span style="color: rgba(128, 0, 128, 1)">1</span> <span style="color: rgba(0, 0, 255, 1)">to</span> <span style="color: rgba(128, 0, 128, 1)">6</span> <span style="color: rgba(0, 0, 255, 1)">do</span>
<span style="color: rgba(0, 0, 255, 1)">begin</span>
<span style="color: rgba(0, 0, 255, 1)">if</span> trim(excelworksheet1.cells.item)<><span style="color: rgba(128, 0, 0, 1)">''</span> <span style="color: rgba(0, 0, 255, 1)">then</span>
<span style="color: rgba(0, 0, 255, 1)">begin</span><span style="color: rgba(0, 0, 0, 1)">
stringgrid1.rowCount:</span>=i+<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">;
stringgrid1.Cells:</span>=ExcelWorksheet1.Cells.Item;
</span><span style="color: rgba(0, 0, 255, 1)">end</span>
<span style="color: rgba(0, 0, 255, 1)">else</span>
<span style="color: rgba(0, 0, 255, 1)">begin</span><span style="color: rgba(0, 0, 0, 1)">
label3.caption:</span>=inttostr(i-<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">);
ExcelApplication1.Disconnect;
ExcelApplication1.Quit;
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">将第一条数据赋给编辑框 </span>
edit2.text:=stringgrid1.Cells[<span style="color: rgba(128, 0, 128, 1)">1</span>,<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">];
edit1.text:</span>=stringgrid1.Cells[<span style="color: rgba(128, 0, 128, 1)">2</span>,<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">];
edit3.text:</span>=stringgrid1.Cells[<span style="color: rgba(128, 0, 128, 1)">3</span>,<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">];
edit4.text:</span>=stringgrid1.Cells[<span style="color: rgba(128, 0, 128, 1)">4</span>,<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">];
edit5.text:</span>=stringgrid1.Cells[<span style="color: rgba(128, 0, 128, 1)">5</span>,<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">];
exit;
</span><span style="color: rgba(0, 0, 255, 1)">end</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">end</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">end</span><span style="color: rgba(0, 0, 0, 1)">;
三、</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">下一条记录</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">按钮,完成记录向下移动,代码如下:
</span><span style="color: rgba(0, 0, 255, 1)">procedure</span><span style="color: rgba(0, 0, 0, 1)"> TForm1.Button2Click(Sender: TObject);
</span><span style="color: rgba(0, 0, 255, 1)">var</span><span style="color: rgba(0, 0, 0, 1)"> x:integer;
</span><span style="color: rgba(0, 0, 255, 1)">begin</span><span style="color: rgba(0, 0, 0, 1)">
x:</span>=stringgrid1.row+<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">if</span> x<> stringgrid1.RowCount <span style="color: rgba(0, 0, 255, 1)">then</span>
<span style="color: rgba(0, 0, 255, 1)">begin</span><span style="color: rgba(0, 0, 0, 1)">
stringgrid1.row:</span>=stringgrid1.row+<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">;
label1.caption:</span>=<span style="color: rgba(0, 0, 0, 1)">inttostr(x);
edit2.text:</span>=stringgrid1.Cells[<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">,x];
edit1.text:</span>=stringgrid1.Cells[<span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)">,x];
edit3.text:</span>=stringgrid1.Cells[<span style="color: rgba(128, 0, 128, 1)">3</span><span style="color: rgba(0, 0, 0, 1)">,x];
edit4.text:</span>=stringgrid1.Cells[<span style="color: rgba(128, 0, 128, 1)">4</span><span style="color: rgba(0, 0, 0, 1)">,x];
edit5.text:</span>=stringgrid1.Cells[<span style="color: rgba(128, 0, 128, 1)">5</span><span style="color: rgba(0, 0, 0, 1)">,x];
exit;
</span><span style="color: rgba(0, 0, 255, 1)">end</span>
<span style="color: rgba(0, 0, 255, 1)">else</span><span style="color: rgba(0, 0, 0, 1)">
showmessage(</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">已到第一条记录!</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">);
</span><span style="color: rgba(0, 0, 255, 1)">end</span><span style="color: rgba(0, 0, 0, 1)">;
四、</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">上一条记录</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">,完成记录上移,代码如下:
</span><span style="color: rgba(0, 0, 255, 1)">var</span><span style="color: rgba(0, 0, 0, 1)"> x:integer;
</span><span style="color: rgba(0, 0, 255, 1)">begin</span><span style="color: rgba(0, 0, 0, 1)">
x:</span>=stringgrid1.row-<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">if</span> x<><span style="color: rgba(128, 0, 128, 1)">0</span> <span style="color: rgba(0, 0, 255, 1)">then</span>
<span style="color: rgba(0, 0, 255, 1)">begin</span><span style="color: rgba(0, 0, 0, 1)">
stringgrid1.row:</span>=stringgrid1.row-<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">;
label1.caption:</span>=<span style="color: rgba(0, 0, 0, 1)">inttostr(x);
edit2.text:</span>=stringgrid1.Cells[<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">,x];
edit1.text:</span>=stringgrid1.Cells[<span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)">,x];
edit3.text:</span>=stringgrid1.Cells[<span style="color: rgba(128, 0, 128, 1)">3</span><span style="color: rgba(0, 0, 0, 1)">,x];
edit4.text:</span>=stringgrid1.Cells[<span style="color: rgba(128, 0, 128, 1)">4</span><span style="color: rgba(0, 0, 0, 1)">,x];
edit5.text:</span>=stringgrid1.Cells[<span style="color: rgba(128, 0, 128, 1)">5</span><span style="color: rgba(0, 0, 0, 1)">,x];
exit;
</span><span style="color: rgba(0, 0, 255, 1)">end</span>
<span style="color: rgba(0, 0, 255, 1)">else</span><span style="color: rgba(0, 0, 0, 1)">
showmessage(</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">已到最后一条记录!</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">);
</span><span style="color: rgba(0, 0, 255, 1)">end</span><span style="color: rgba(0, 0, 0, 1)">;
五、stringgrid中上下移动时代码:
</span><span style="color: rgba(0, 0, 255, 1)">procedure</span><span style="color: rgba(0, 0, 0, 1)"> TForm1.StringGrid1Click(Sender: TObject);
</span><span style="color: rgba(0, 0, 255, 1)">var</span><span style="color: rgba(0, 0, 0, 1)"> i:integer;
</span><span style="color: rgba(0, 0, 255, 1)">begin</span><span style="color: rgba(0, 0, 0, 1)">
i:</span>=<span style="color: rgba(0, 0, 0, 1)">stringgrid1.Row;
label1.caption:</span>=<span style="color: rgba(0, 0, 0, 1)">inttostr(i);
edit1.text:</span>=stringgrid1.Cells[<span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)">,i];
edit2.text:</span>=stringgrid1.Cells[<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">,i];
edit3.text:</span>=stringgrid1.Cells[<span style="color: rgba(128, 0, 128, 1)">3</span><span style="color: rgba(0, 0, 0, 1)">,i];
edit4.text:</span>=stringgrid1.Cells[<span style="color: rgba(128, 0, 128, 1)">4</span><span style="color: rgba(0, 0, 0, 1)">,i];
edit5.text:</span>=stringgrid1.Cells[<span style="color: rgba(128, 0, 128, 1)">5</span><span style="color: rgba(0, 0, 0, 1)">,i];
</span><span style="color: rgba(0, 0, 255, 1)">end</span><span style="color: rgba(0, 0, 0, 1)">;
六、运行程序,点击按钮1打开excel表格。程序将启动EXCEL,并打开了选择的电子表格,这时请不要关闭EXCEL,当程序从EXCEL取数完毕将自动关闭EXCEL程序,应用程序取出了EXCEL数据,显示在stringgrid中,并将第一笔数据各字段的值赋给了左边的对应的edit字段。点击按钮2、按钮3可以查看下一条或上一条记录。也可以使用光标在stringgrid1上移动。
同时我们也可以对stringgrid中的记录进行查询、定位。相反,也可以将数据库中的数据输入到EXCEL中。总之,只要我们从EXCEL提取出数据,并保存到stringgrid中,我们就可以进行相应操作,如统计、查询、重新输出,使平进的EXCEL电子表格中的数据在应用程序中得到利用。
select WeijieData T_Goods</span></pre>
</div>
<p> </p>
</div>
<div id="MySignature" role="contentinfo">
好的代码像粥一样,都是用时间熬出来的<br><br>
来源:https://www.cnblogs.com/jijm123/p/12353270.html
頁:
[1]