- 9月 03 週三 200813:13
時事笑話
英文老師:「小朋友,有誰可以用elephant (大象) 造一個句? 」 某小朋友馬上舉手:「陳水扁 elephant 多錢!」 elephant英文發音為:a了粉 白話文轉譯:陳水扁 A了粉 多錢! 其實大哥哥覺得陳水扁的老婆比陳水扁恐怖.......
- 9月 03 週三 200811:32
Delphi控制Excel範例大全
DELPHI程式語言功能很強大,但是要能夠發揮,也必需要先了解有哪些 物件、方法、屬性,才會使用......大哥哥就是不懂,所以學起來還滿吃力的............... 因工作需要,可能會需要轉excel資料到資料庫內,或是把資料轉成excel,所以找到一篇 DELPHI 控制 EXCEL範例,看了一下,非常清楚明瞭, 出處:http://delphi.ktop.com.tw/board.php?cid=30&fid=71&tid=88181
=========================================================
Delphi控制Excel2000
希望這分資料,為論壇中的各位會員關於EXCEL操作的問題提供一些幫助。
同時也希望各位能將自己整理的、或已有的資料共享出來。
這樣可以減少大家的「重複勞動」嗎?
技術在於交流,經驗在於積累!!!!
一.使用動態創建的方法
首先創建 Excel 對象,使用ComObj:
var ExcelApp: Variant;
ExcelApp := CreateOleObject('Excel.Application');
1) 顯示當前窗口:
ExcelApp.Visible := True;
2) 更改 Excel 標題欄:
ExcelApp.Caption := '應用程序調用 Microsoft Excel';
3) 添加新工作簿:
ExcelApp.WorkBooks.Add;
4) 打開已存在的工作簿:
ExcelApp.WorkBooks.Open('C:\Excel\Demo.xls');
5) 設置第2個工作表為活動工作表:
ExcelApp.WorkSheets[2].Activate;
或
ExcelApp.WorksSheets['Sheet2'].Activate;
6) 給單元格賦值:
ExcelApp.Cells[1,4].Value := '第一行第四列';
7) 設置指定列的寬度(單位:字符個數),以第一列為例:
ExcelApp.ActiveSheet.Columns[1].ColumnWidth := 5;
8) 設置指定行的高度(單位:磅)(1磅=0.035厘米),以第二行為例:
ExcelApp.ActiveSheet.Rows[2].RowHeight := 1/0.035; // 1厘米
9) 在第8行之前插入分頁符:
ExcelApp.WorkSheets[1].Rows[8].PageBreak := 1;
10) 在第8列之前刪除分頁符:
ExcelApp.ActiveSheet.Columns[4].PageBreak := 0;
11) 指定邊框線寬度:
ExcelApp.ActiveSheet.Range['B3:D4'].Borders[2].Weight := 3;
1-左 2-右 3-頂 4-底 5-斜( \ ) 6-斜( / )
11-1 指定邊框的style (1:實線, 2:虛線)
ExcelApp.Selection.Borders[1].LineStyle := 1;
11-2 指定邊框的 Weight (1~4)
ExcelApp.Selection.Borders[1].Weight := 3;
11-3 指定邊框的 ColorIndex (0~56)
ExcelApp.Selection.Borders[1].ColorIndex := 1;
(1:黑色, 2:白色, 3:紅色, 4:綠色, 5:藍色, 6:黃色, 7:紫色, 8:青藍色, 9:棕色…)
12) 清除第一行第四列單元格公式:
ExcelApp.ActiveSheet.Cells[1,4].ClearContents;
13) 設置第一行字體屬性:
ExcelApp.ActiveSheet.Rows[1].Font.Name := '隸書';
ExcelApp.ActiveSheet.Rows[1].Font.Color := clBlue;
ExcelApp.ActiveSheet.Rows[1].Font.Bold := True;
ExcelApp.ActiveSheet.Rows[1].Font.UnderLine := True;
ExcelApp.ActiveSheet.Rows[1].Font.Size:= 12;
ExcelApp.ActiveSheet.Rows[1].NumberFormatLocal:='@';//將儲存格改成文字格式
ExcelApp.Selection.NumberFormatLocal:='@';//將儲存格改成文字格式
13-1) 合併儲存格:
ExcelApp.ActiveSheet.Range['A1:C3'].Merge;
13-2) 跨欄置中:
ExcelApp.ActiveSheet.Range['A1','V1'].HorizontalAlignment := $FFFFEFF4;
ExcelApp.ActiveSheet.Range['A1','V1'].VerticalAlignment := $FFFFEFF4;
13-3) 設定顏色
ExcelApp.ActiveSheet.Range['A1:V1'].Interior.Color:=33023; // color orange
ExcelApp.ActiveSheet.Range['A2:V2'].Interior.Color:=clLime; // color green
13-3 凍結
ExcelApp.ActiveSheet.Cells[3,3].Select;
ExcelApp.ActiveWindow.FreezePanes := True;
13-4 設定百分比格式
ExcelApp.ActiveSheet.Range['H13'].NumberFormatLocal:='0.00%';
14) 進行頁面設置:
a.頁眉:
ExcelApp.ActiveSheet.PageSetup.CenterHeader := '報表演示';
b.頁腳:
ExcelApp.ActiveSheet.PageSetup.CenterFooter := '第&P頁';
c.頁眉到頂端邊距2cm:
ExcelApp.ActiveSheet.PageSetup.HeaderMargin := 2/0.035;
d.頁腳到底端邊距3cm:
ExcelApp.ActiveSheet.PageSetup.HeaderMargin := 3/0.035;
e.頂邊距2cm:
ExcelApp.ActiveSheet.PageSetup.TopMargin := 2/0.035;
f.底邊距2cm:
ExcelApp.ActiveSheet.PageSetup.BottomMargin := 2/0.035;
g.左邊距2cm:
ExcelApp.ActiveSheet.PageSetup.LeftMargin := 2/0.035;
h.右邊距2cm:
ExcelApp.ActiveSheet.PageSetup.RightMargin := 2/0.035;
i.頁面水平居中:
ExcelApp.ActiveSheet.PageSetup.CenterHorizontally := 2/0.035;
j.頁面垂直居中:
ExcelApp.ActiveSheet.PageSetup.CenterVertically := 2/0.035;
k.打印單元格網線:
ExcelApp.ActiveSheet.PageSetup.PrintGridLines := True;
15) 拷貝操作:
a.拷貝整個工作表:
ExcelApp.ActiveSheet.Used.Range.Copy;
b.拷貝指定區域:
ExcelApp.ActiveSheet.Range[ 'A1:E2' ].Copy;
c.從A1位置開始粘貼:
ExcelApp.ActiveSheet.Range.[ 'A1' ].PasteSpecial;
d.從文件尾部開始粘貼:
ExcelApp.ActiveSheet.Range.PasteSpecial;
16) 插入一行或一列:
a. ExcelApp.ActiveSheet.Rows[2].Insert;
b. ExcelApp.ActiveSheet.Columns[1].Insert;
17) 刪除一行或一列:
a. ExcelApp.ActiveSheet.Rows[2].Delete;
b. ExcelApp.ActiveSheet.Columns[1].Delete;
18) 打印預覽工作表:
ExcelApp.ActiveSheet.PrintPreview;
19) 打印輸出工作表:
ExcelApp.ActiveSheet.PrintOut;
20) 工作表保存:
if not ExcelApp.ActiveWorkBook.Saved then
ExcelApp.ActiveSheet.PrintPreview;
21) 工作表另存為:
ExcelApp.WorkBooks[1].SaveAs('d:\tmp\a.xls');
22) 放棄存盤:
ExcelApp.ActiveWorkBook.Saved := True;
23) 關閉工作簿:
ExcelApp.WorkBooks.Close;
24) 退出 Excel:
ExcelApp.Quit;
二.使用Delphi 控件方法
在Form中分別放入ExcelApplication, ExcelWorkbook和ExcelWorksheet。
1) 打開Excel
ExcelApplication1.Connect;
2) 顯示當前窗口:
ExcelApplication1.Visible[0]:=True;
3) 更改 Excel 標題欄:
ExcelApplication1.Caption := '應用程序調用 Microsoft Excel';
4) 添加新工作簿:
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.Add(EmptyParam,0));
5) 添加新工作表:
var Temp_Worksheet: _WorkSheet;
begin
Temp_Worksheet:=ExcelWorkbook1.
WorkSheets.Add(EmptyParam,EmptyParam,EmptyParam,EmptyParam,0) as _WorkSheet;
ExcelWorkSheet1.ConnectTo(Temp_WorkSheet);
End;
6) 打開已存在的工作簿:
ExcelApplication1.Workbooks.Open (c:\a.xls
EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,0)
7) 設置第2個工作表為活動工作表:
ExcelApplication1.WorkSheets[2].Activate; 或
ExcelApplication1.WorksSheets[ 'Sheet2' ].Activate;
8) 給單元格賦值:
ExcelApplication1.Cells[1,4].Value := '第一行第四列';
9) 設置指定列的寬度(單位:字符個數),以第一列為例:
ExcelApplication1.ActiveSheet.Columns[1].ColumnsWidth := 5;
10) 設置指定行的高度(單位:磅)(1磅=0.035厘米),以第二行為例:
ExcelApplication1.ActiveSheet.Rows[2].RowHeight := 1/0.035; // 1厘米
11) 在第8行之前插入分頁符:
ExcelApplication1.WorkSheets[1].Rows[8].PageBreak := 1;
12) 在第8列之前刪除分頁符:
ExcelApplication1.ActiveSheet.Columns[4].PageBreak := 0;
13) 指定邊框線寬度:
ExcelApplication1.ActiveSheet.Range[ 'B3:D4' ].Borders[2].Weight := 3;
1-左 2-右 3-頂 4-底 5-斜( \ ) 6-斜( / )
14) 清除第一行第四列單元格公式:
ExcelApplication1.ActiveSheet.Cells[1,4].ClearContents;
15) 設置第一行字體屬性:
ExcelApplication1.ActiveSheet.Rows[1].Font.Name := '隸書';
ExcelApplication1.ActiveSheet.Rows[1].Font.Color := clBlue;
ExcelApplication1.ActiveSheet.Rows[1].Font.Bold := True;
ExcelApplication1.ActiveSheet.Rows[1].Font.UnderLine := True;
16) 進行頁面設置:
a.頁眉:
ExcelApplication1.ActiveSheet.PageSetup.CenterHeader := '報表演示';
b.頁腳:
ExcelApplication1.ActiveSheet.PageSetup.CenterFooter := '第&P頁';
c.頁眉到頂端邊距2cm:
ExcelApplication1.ActiveSheet.PageSetup.HeaderMargin := 2/0.035;
d.頁腳到底端邊距3cm:
ExcelApplication1.ActiveSheet.PageSetup.HeaderMargin := 3/0.035;
e.頂邊距2cm:
ExcelApplication1.ActiveSheet.PageSetup.TopMargin := 2/0.035;
f.底邊距2cm:
ExcelApplication1.ActiveSheet.PageSetup.BottomMargin := 2/0.035;
g.左邊距2cm:
ExcelApplication1.ActiveSheet.PageSetup.LeftMargin := 2/0.035;
h.右邊距2cm:
ExcelApplication1.ActiveSheet.PageSetup.RightMargin := 2/0.035;
i.頁面水平居中:
ExcelApplication1.ActiveSheet.PageSetup.CenterHorizontally := 2/0.035;
j.頁面垂直居中:
ExcelApplication1.ActiveSheet.PageSetup.CenterVertically := 2/0.035;
k.打印單元格網線:
ExcelApplication1.ActiveSheet.PageSetup.PrintGridLines := True;
17) 拷貝操作:
a.拷貝整個工作表:
ExcelApplication1.ActiveSheet.Used.Range.Copy;
b.拷貝指定區域:
ExcelApplication1.ActiveSheet.Range[ 'A1:E2' ].Copy;
c.從A1位置開始粘貼:
ExcelApplication1.ActiveSheet.Range.[ 'A1' ].PasteSpecial;
d.從文件尾部開始粘貼:
ExcelApplication1.ActiveSheet.Range.PasteSpecial;
18) 插入一行或一列:
a. ExcelApplication1.ActiveSheet.Rows[2].Insert;
b. ExcelApplication1.ActiveSheet.Columns[1].Insert;
19) 刪除一行或一列:
a. ExcelApplication1.ActiveSheet.Rows[2].Delete;
b. ExcelApplication1.ActiveSheet.Columns[1].Delete;
20) 打印預覽工作表:
ExcelApplication1.ActiveSheet.PrintPreview;
21) 打印輸出工作表:
ExcelApplication1.ActiveSheet.PrintOut;
22) 工作表保存:
if not ExcelApplication1.ActiveWorkBook.Saved then
ExcelApplication1.ActiveSheet.PrintPreview;
23) 工作表另存為:
ExcelApplication1.SaveAs( 'C:\Excel\Demo1.xls' );
24) 放棄存盤:
ExcelApplication1.ActiveWorkBook.Saved := True;
25) 關閉工作簿:
ExcelApplication1.WorkBooks.Close;
26) 退出 Excel:
ExcelApplication1.Quit;
ExcelApplication1.Disconnect;
三.使用Delphi控制Excle二維圖
在Form中分別放入ExcelApplication, ExcelWorkbook和ExcelWorksheet
var asheet1,achart, range:variant;
1)選擇當第一個工作薄第一個工作表
asheet1:=ExcelApplication1.Workbooks[1].Worksheets[1];
2)增加一個二維圖
achart:=asheet1.chartobjects.add(100,100,200,200);
3)選擇二維圖的形態
achart.chart.charttype:=4;
4)給二維圖賦值
series:=achart.chart.seriescollection;
range:=sheet1!r2c3:r3c9;
series.add(range,true);
5)加上二維圖的標題
achart.Chart.HasTitle:=True;
achart.Chart.ChartTitle.Characters.Text:=』 Excle二維圖』
6)
我是這樣寫的:
var i,j:integer;
ii:string;
begin
ExcelApplication1.Visible[0]:=True;
ExcelApplication1.Caption:='Excel Application';
try
ExcelApplication1.Workbooks.Open(ExtractFilePath(paramstr(0))+'文件名.xls',
null,null,null,null,null,null,null,null,null,null,null,null,0); //獲取當前路徑下的文件並且打開
except
ExcelApplication1.Disconnect;//出現異常情況時關閉
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]);//ExcelWorkbook1與Eexcelapplication1建立連接
ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _Worksheet);//Excelworksheet1與Excelworkbook1建立連接
fr_jjfenxi.Label3.Caption:='ExcelWorksheet1.Cells.Item[3,1]';
//ExcelApplication1.WorkBooks1.Close;
ExcelApplication1.Disconnect;
ExcelApplication1.Quit;
但是label3卻不能顯示第三行,第一列中的數據。請各位指點!!!
附說明:
一) 使用動態創建的方法
首先創建 Excel 對象,使用ComObj:
var ExcelApp: Variant;
ExcelApp := CreateOleObject( 'Excel.Application' );
1) 顯示當前窗口:
ExcelApp.Visible := True;
2) 更改 Excel 標題欄:
ExcelApp.Caption := '應用程序調用 Microsoft Excel';
3) 添加新工作簿:
ExcelApp.WorkBooks.Add;
4) 打開已存在的工作簿:
ExcelApp.WorkBooks.Open( 'C:\Excel\Demo.xls' );
5) 設置第2個工作表為活動工作表:
ExcelApp.WorkSheets[2].Activate;
或
ExcelApp.WorksSheets[ 'Sheet2' ].Activate;
6) 給單元格賦值:
ExcelApp.Cells[1,4].Value := '第一行第四列';
7) 設置指定列的寬度(單位:字符個數),以第一列為例:
ExcelApp.ActiveSheet.Columns[1].ColumnsWidth := 5;
8) 設置指定行的高度(單位:磅)(1磅=0.035厘米),以第二行為例:
ExcelApp.ActiveSheet.Rows[2].RowHeight := 1/0.035; // 1厘米
9) 在第8行之前插入分頁符:
ExcelApp.WorkSheets[1].Rows.PageBreak := 1;
10) 在第8列之前刪除分頁符:
ExcelApp.ActiveSheet.Columns[4].PageBreak := 0;
11) 指定邊框線寬度:
ExcelApp.ActiveSheet.Range[ 'B3:D4' ].Borders[2].Weight := 3;
1-左 2-右 3-頂 4-底 5-斜( \ ) 6-斜( / )
12) 清除第一行第四列單元格公式:
ExcelApp.ActiveSheet.Cells[1,4].ClearContents;
13) 設置第一行字體屬性:
ExcelApp.ActiveSheet.Rows[1].Font.Name := '隸書';
ExcelApp.ActiveSheet.Rows[1].Font.Color := clBlue;
ExcelApp.ActiveSheet.Rows[1].Font.Bold := True;
ExcelApp.ActiveSheet.Rows[1].Font.UnderLine := True;
14) 進行頁面設置:
a.頁眉:
ExcelApp.ActiveSheet.PageSetup.CenterHeader := '報表演示';
b.頁腳:
ExcelApp.ActiveSheet.PageSetup.CenterFooter := '第&P頁';
c.頁眉到頂端邊距2cm:
ExcelApp.ActiveSheet.PageSetup.HeaderMargin := 2/0.035;
d.頁腳到底端邊距3cm:
ExcelApp.ActiveSheet.PageSetup.HeaderMargin := 3/0.035;
e.頂邊距2cm:
ExcelApp.ActiveSheet.PageSetup.TopMargin := 2/0.035;
f.底邊距2cm:
ExcelApp.ActiveSheet.PageSetup.BottomMargin := 2/0.035;
g.左邊距2cm:
ExcelApp.ActiveSheet.PageSetup.LeftMargin := 2/0.035;
h.右邊距2cm:
ExcelApp.ActiveSheet.PageSetup.RightMargin := 2/0.035;
i.頁面水平居中:
ExcelApp.ActiveSheet.PageSetup.CenterHorizontally := 2/0.035;
j.頁面垂直居中:
ExcelApp.ActiveSheet.PageSetup.CenterVertically := 2/0.035;
k.打印單元格網線:
ExcelApp.ActiveSheet.PageSetup.PrintGridLines := True;
15) 拷貝操作:
a.拷貝整個工作表:
ExcelApp.ActiveSheet.Used.Range.Copy;
b.拷貝指定區域:
ExcelApp.ActiveSheet.Range[ 'A1:E2' ].Copy;
c.從A1位置開始粘貼:
ExcelApp.ActiveSheet.Range.[ 'A1' ].PasteSpecial;
d.從文件尾部開始粘貼:
ExcelApp.ActiveSheet.Range.PasteSpecial;
16) 插入一行或一列:
a. ExcelApp.ActiveSheet.Rows[2].Insert;
b. ExcelApp.ActiveSheet.Columns[1].Insert;
17) 刪除一行或一列:
a. ExcelApp.ActiveSheet.Rows[2].Delete;
b. ExcelApp.ActiveSheet.Columns[1].Delete;
18) 打印預覽工作表:
ExcelApp.ActiveSheet.PrintPreview;
19) 打印輸出工作表:
ExcelApp.ActiveSheet.PrintOut;
20) 工作表保存:
if not ExcelApp.ActiveWorkBook.Saved then
ExcelApp.ActiveSheet.PrintPreview;
21) 工作表另存為:
ExcelApp.SaveAs( 'C:\Excel\Demo1.xls' );
22) 放棄存盤:
ExcelApp.ActiveWorkBook.Saved := True;
23) 關閉工作簿:
ExcelApp.WorkBooks.Close;
24) 退出 Excel:
ExcelApp.Quit;
(二) 使用Delphi 控件方法
在Form中分別放入ExcelApplication, ExcelWorkbook和ExcelWorksheet。
1) 打開Excel
ExcelApplication1.Connect;
2) 顯示當前窗口:
ExcelApplication1.Visible[0]:=True;
3) 更改 Excel 標題欄:
ExcelApplication1.Caption := '應用程序調用 Microsoft Excel';
4) 添加新工作簿:
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.Add(EmptyParam,0));
5) 添加新工作表:
var Temp_Worksheet: _WorkSheet;
begin
Temp_Worksheet:=ExcelWorkbook1.
WorkSheets.Add(EmptyParam,EmptyParam,EmptyParam,EmptyParam,0) as _WorkSheet;
ExcelWorkSheet1.ConnectTo(Temp_WorkSheet);
End;
6) 打開已存在的工作簿:
ExcelApplication1.Workbooks.Open (c:\a.xls
EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,0)
7) 設置第2個工作表為活動工作表:
ExcelApplication1.WorkSheets[2].Activate; 或
ExcelApplication1.WorksSheets[ 'Sheet2' ].Activate;
8) 給單元格賦值:
ExcelApplication1.Cells[1,4].Value := '第一行第四列';
9) 設置指定列的寬度(單位:字符個數),以第一列為例:
ExcelApplication1.ActiveSheet.Columns[1].ColumnsWidth := 5;
10) 設置指定行的高度(單位:磅)(1磅=0.035厘米),以第二行為例:
ExcelApplication1.ActiveSheet.Rows[2].RowHeight := 1/0.035; // 1厘米
11) 在第8行之前插入分頁符:
ExcelApplication1.WorkSheets[1].Rows.PageBreak := 1;
12) 在第8列之前刪除分頁符:
ExcelApplication1.ActiveSheet.Columns[4].PageBreak := 0;
13) 指定邊框線寬度:
ExcelApplication1.ActiveSheet.Range[ 'B3:D4' ].Borders[2].Weight := 3;
1-左 2-右 3-頂 4-底 5-斜( \ ) 6-斜( / )
14) 清除第一行第四列單元格公式:
ExcelApplication1.ActiveSheet.Cells[1,4].ClearContents;
15) 設置第一行字體屬性:
ExcelApplication1.ActiveSheet.Rows[1].Font.Name := '隸書';
ExcelApplication1.ActiveSheet.Rows[1].Font.Color := clBlue;
ExcelApplication1.ActiveSheet.Rows[1].Font.Bold := True;
ExcelApplication1.ActiveSheet.Rows[1].Font.UnderLine := True;
16) 進行頁面設置:
a.頁眉:
ExcelApplication1.ActiveSheet.PageSetup.CenterHeader := '報表演示';
b.頁腳:
ExcelApplication1.ActiveSheet.PageSetup.CenterFooter := '第&P頁';
c.頁眉到頂端邊距2cm:
ExcelApplication1.ActiveSheet.PageSetup.HeaderMargin := 2/0.035;
d.頁腳到底端邊距3cm:
ExcelApplication1.ActiveSheet.PageSetup.HeaderMargin := 3/0.035;
e.頂邊距2cm:
ExcelApplication1.ActiveSheet.PageSetup.TopMargin := 2/0.035;
f.底邊距2cm:
ExcelApplication1.ActiveSheet.PageSetup.BottomMargin := 2/0.035;
g.左邊距2cm:
ExcelApplication1.ActiveSheet.PageSetup.LeftMargin := 2/0.035;
h.右邊距2cm:
ExcelApplication1.ActiveSheet.PageSetup.RightMargin := 2/0.035;
i.頁面水平居中:
ExcelApplication1.ActiveSheet.PageSetup.CenterHorizontally := 2/0.035;
j.頁面垂直居中:
ExcelApplication1.ActiveSheet.PageSetup.CenterVertically := 2/0.035;
k.打印單元格網線:
ExcelApplication1.ActiveSheet.PageSetup.PrintGridLines := True;
17) 拷貝操作:
a.拷貝整個工作表:
ExcelApplication1.ActiveSheet.Used.Range.Copy;
b.拷貝指定區域:
ExcelApplication1.ActiveSheet.Range[ 'A1:E2' ].Copy;
c.從A1位置開始粘貼:
ExcelApplication1.ActiveSheet.Range.[ 'A1' ].PasteSpecial;
d.從文件尾部開始粘貼:
ExcelApplication1.ActiveSheet.Range.PasteSpecial;
18) 插入一行或一列:
a. ExcelApplication1.ActiveSheet.Rows[2].Insert;
b. ExcelApplication1.ActiveSheet.Columns[1].Insert;
19) 刪除一行或一列:
a. ExcelApplication1.ActiveSheet.Rows[2].Delete;
b. ExcelApplication1.ActiveSheet.Columns[1].Delete;
20) 打印預覽工作表:
ExcelApplication1.ActiveSheet.PrintPreview;
21) 打印輸出工作表:
ExcelApplication1.ActiveSheet.PrintOut;
22) 工作表保存:
if not ExcelApplication1.ActiveWorkBook.Saved then
ExcelApplication1.ActiveSheet.PrintPreview;
23) 工作表另存為:
ExcelApplication1.SaveAs( 'C:\Excel\Demo1.xls' );
24) 放棄存盤:
ExcelApplication1.ActiveWorkBook.Saved := True;
25) 關閉工作簿:
ExcelApplication1.WorkBooks.Close;
26) 退出 Excel:
ExcelApplication1.Quit;
ExcelApplication1.Disconnect;
(三) 使用Delphi 控制Excle二維圖
在Form中分別放入ExcelApplication, ExcelWorkbook和ExcelWorksheet
var asheet1,achart, range:variant;
1)選擇當第一個工作薄第一個工作表
asheet1:=ExcelApplication1.Workbooks[1].Worksheets[1];
2)增加一個二維圖
achart:=asheet1.chartobjects.add(100,100,200,200);
3)選擇二維圖的形態
achart.chart.charttype:=4;
4)給二維圖賦值
series:=achart.chart.seriescollection;
range:=sheet1!r2c3:r3c9;
series.add(range,true);
5)加上二維圖的標題
achart.Chart.HasTitle:=True;
achart.Chart.ChartTitle.Characters.Text:=』 Excle二維圖』
=========================================================
Delphi控制Excel2000
希望這分資料,為論壇中的各位會員關於EXCEL操作的問題提供一些幫助。
同時也希望各位能將自己整理的、或已有的資料共享出來。
這樣可以減少大家的「重複勞動」嗎?
技術在於交流,經驗在於積累!!!!
一.使用動態創建的方法
首先創建 Excel 對象,使用ComObj:
var ExcelApp: Variant;
ExcelApp := CreateOleObject('Excel.Application');
1) 顯示當前窗口:
ExcelApp.Visible := True;
2) 更改 Excel 標題欄:
ExcelApp.Caption := '應用程序調用 Microsoft Excel';
3) 添加新工作簿:
ExcelApp.WorkBooks.Add;
4) 打開已存在的工作簿:
ExcelApp.WorkBooks.Open('C:\Excel\Demo.xls');
5) 設置第2個工作表為活動工作表:
ExcelApp.WorkSheets[2].Activate;
或
ExcelApp.WorksSheets['Sheet2'].Activate;
6) 給單元格賦值:
ExcelApp.Cells[1,4].Value := '第一行第四列';
7) 設置指定列的寬度(單位:字符個數),以第一列為例:
ExcelApp.ActiveSheet.Columns[1].ColumnWidth := 5;
8) 設置指定行的高度(單位:磅)(1磅=0.035厘米),以第二行為例:
ExcelApp.ActiveSheet.Rows[2].RowHeight := 1/0.035; // 1厘米
9) 在第8行之前插入分頁符:
ExcelApp.WorkSheets[1].Rows[8].PageBreak := 1;
10) 在第8列之前刪除分頁符:
ExcelApp.ActiveSheet.Columns[4].PageBreak := 0;
11) 指定邊框線寬度:
ExcelApp.ActiveSheet.Range['B3:D4'].Borders[2].Weight := 3;
1-左 2-右 3-頂 4-底 5-斜( \ ) 6-斜( / )
11-1 指定邊框的style (1:實線, 2:虛線)
ExcelApp.Selection.Borders[1].LineStyle := 1;
11-2 指定邊框的 Weight (1~4)
ExcelApp.Selection.Borders[1].Weight := 3;
11-3 指定邊框的 ColorIndex (0~56)
ExcelApp.Selection.Borders[1].ColorIndex := 1;
(1:黑色, 2:白色, 3:紅色, 4:綠色, 5:藍色, 6:黃色, 7:紫色, 8:青藍色, 9:棕色…)
12) 清除第一行第四列單元格公式:
ExcelApp.ActiveSheet.Cells[1,4].ClearContents;
13) 設置第一行字體屬性:
ExcelApp.ActiveSheet.Rows[1].Font.Name := '隸書';
ExcelApp.ActiveSheet.Rows[1].Font.Color := clBlue;
ExcelApp.ActiveSheet.Rows[1].Font.Bold := True;
ExcelApp.ActiveSheet.Rows[1].Font.UnderLine := True;
ExcelApp.ActiveSheet.Rows[1].Font.Size:= 12;
ExcelApp.ActiveSheet.Rows[1].NumberFormatLocal:='@';//將儲存格改成文字格式
ExcelApp.Selection.NumberFormatLocal:='@';//將儲存格改成文字格式
13-1) 合併儲存格:
ExcelApp.ActiveSheet.Range['A1:C3'].Merge;
13-2) 跨欄置中:
ExcelApp.ActiveSheet.Range['A1','V1'].HorizontalAlignment := $FFFFEFF4;
ExcelApp.ActiveSheet.Range['A1','V1'].VerticalAlignment := $FFFFEFF4;
13-3) 設定顏色
ExcelApp.ActiveSheet.Range['A1:V1'].Interior.Color:=33023; // color orange
ExcelApp.ActiveSheet.Range['A2:V2'].Interior.Color:=clLime; // color green
13-3 凍結
ExcelApp.ActiveSheet.Cells[3,3].Select;
ExcelApp.ActiveWindow.FreezePanes := True;
13-4 設定百分比格式
ExcelApp.ActiveSheet.Range['H13'].NumberFormatLocal:='0.00%';
14) 進行頁面設置:
a.頁眉:
ExcelApp.ActiveSheet.PageSetup.CenterHeader := '報表演示';
b.頁腳:
ExcelApp.ActiveSheet.PageSetup.CenterFooter := '第&P頁';
c.頁眉到頂端邊距2cm:
ExcelApp.ActiveSheet.PageSetup.HeaderMargin := 2/0.035;
d.頁腳到底端邊距3cm:
ExcelApp.ActiveSheet.PageSetup.HeaderMargin := 3/0.035;
e.頂邊距2cm:
ExcelApp.ActiveSheet.PageSetup.TopMargin := 2/0.035;
f.底邊距2cm:
ExcelApp.ActiveSheet.PageSetup.BottomMargin := 2/0.035;
g.左邊距2cm:
ExcelApp.ActiveSheet.PageSetup.LeftMargin := 2/0.035;
h.右邊距2cm:
ExcelApp.ActiveSheet.PageSetup.RightMargin := 2/0.035;
i.頁面水平居中:
ExcelApp.ActiveSheet.PageSetup.CenterHorizontally := 2/0.035;
j.頁面垂直居中:
ExcelApp.ActiveSheet.PageSetup.CenterVertically := 2/0.035;
k.打印單元格網線:
ExcelApp.ActiveSheet.PageSetup.PrintGridLines := True;
15) 拷貝操作:
a.拷貝整個工作表:
ExcelApp.ActiveSheet.Used.Range.Copy;
b.拷貝指定區域:
ExcelApp.ActiveSheet.Range[ 'A1:E2' ].Copy;
c.從A1位置開始粘貼:
ExcelApp.ActiveSheet.Range.[ 'A1' ].PasteSpecial;
d.從文件尾部開始粘貼:
ExcelApp.ActiveSheet.Range.PasteSpecial;
16) 插入一行或一列:
a. ExcelApp.ActiveSheet.Rows[2].Insert;
b. ExcelApp.ActiveSheet.Columns[1].Insert;
17) 刪除一行或一列:
a. ExcelApp.ActiveSheet.Rows[2].Delete;
b. ExcelApp.ActiveSheet.Columns[1].Delete;
18) 打印預覽工作表:
ExcelApp.ActiveSheet.PrintPreview;
19) 打印輸出工作表:
ExcelApp.ActiveSheet.PrintOut;
20) 工作表保存:
if not ExcelApp.ActiveWorkBook.Saved then
ExcelApp.ActiveSheet.PrintPreview;
21) 工作表另存為:
ExcelApp.WorkBooks[1].SaveAs('d:\tmp\a.xls');
22) 放棄存盤:
ExcelApp.ActiveWorkBook.Saved := True;
23) 關閉工作簿:
ExcelApp.WorkBooks.Close;
24) 退出 Excel:
ExcelApp.Quit;
二.使用Delphi 控件方法
在Form中分別放入ExcelApplication, ExcelWorkbook和ExcelWorksheet。
1) 打開Excel
ExcelApplication1.Connect;
2) 顯示當前窗口:
ExcelApplication1.Visible[0]:=True;
3) 更改 Excel 標題欄:
ExcelApplication1.Caption := '應用程序調用 Microsoft Excel';
4) 添加新工作簿:
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.Add(EmptyParam,0));
5) 添加新工作表:
var Temp_Worksheet: _WorkSheet;
begin
Temp_Worksheet:=ExcelWorkbook1.
WorkSheets.Add(EmptyParam,EmptyParam,EmptyParam,EmptyParam,0) as _WorkSheet;
ExcelWorkSheet1.ConnectTo(Temp_WorkSheet);
End;
6) 打開已存在的工作簿:
ExcelApplication1.Workbooks.Open (c:\a.xls
EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,0)
7) 設置第2個工作表為活動工作表:
ExcelApplication1.WorkSheets[2].Activate; 或
ExcelApplication1.WorksSheets[ 'Sheet2' ].Activate;
8) 給單元格賦值:
ExcelApplication1.Cells[1,4].Value := '第一行第四列';
9) 設置指定列的寬度(單位:字符個數),以第一列為例:
ExcelApplication1.ActiveSheet.Columns[1].ColumnsWidth := 5;
10) 設置指定行的高度(單位:磅)(1磅=0.035厘米),以第二行為例:
ExcelApplication1.ActiveSheet.Rows[2].RowHeight := 1/0.035; // 1厘米
11) 在第8行之前插入分頁符:
ExcelApplication1.WorkSheets[1].Rows[8].PageBreak := 1;
12) 在第8列之前刪除分頁符:
ExcelApplication1.ActiveSheet.Columns[4].PageBreak := 0;
13) 指定邊框線寬度:
ExcelApplication1.ActiveSheet.Range[ 'B3:D4' ].Borders[2].Weight := 3;
1-左 2-右 3-頂 4-底 5-斜( \ ) 6-斜( / )
14) 清除第一行第四列單元格公式:
ExcelApplication1.ActiveSheet.Cells[1,4].ClearContents;
15) 設置第一行字體屬性:
ExcelApplication1.ActiveSheet.Rows[1].Font.Name := '隸書';
ExcelApplication1.ActiveSheet.Rows[1].Font.Color := clBlue;
ExcelApplication1.ActiveSheet.Rows[1].Font.Bold := True;
ExcelApplication1.ActiveSheet.Rows[1].Font.UnderLine := True;
16) 進行頁面設置:
a.頁眉:
ExcelApplication1.ActiveSheet.PageSetup.CenterHeader := '報表演示';
b.頁腳:
ExcelApplication1.ActiveSheet.PageSetup.CenterFooter := '第&P頁';
c.頁眉到頂端邊距2cm:
ExcelApplication1.ActiveSheet.PageSetup.HeaderMargin := 2/0.035;
d.頁腳到底端邊距3cm:
ExcelApplication1.ActiveSheet.PageSetup.HeaderMargin := 3/0.035;
e.頂邊距2cm:
ExcelApplication1.ActiveSheet.PageSetup.TopMargin := 2/0.035;
f.底邊距2cm:
ExcelApplication1.ActiveSheet.PageSetup.BottomMargin := 2/0.035;
g.左邊距2cm:
ExcelApplication1.ActiveSheet.PageSetup.LeftMargin := 2/0.035;
h.右邊距2cm:
ExcelApplication1.ActiveSheet.PageSetup.RightMargin := 2/0.035;
i.頁面水平居中:
ExcelApplication1.ActiveSheet.PageSetup.CenterHorizontally := 2/0.035;
j.頁面垂直居中:
ExcelApplication1.ActiveSheet.PageSetup.CenterVertically := 2/0.035;
k.打印單元格網線:
ExcelApplication1.ActiveSheet.PageSetup.PrintGridLines := True;
17) 拷貝操作:
a.拷貝整個工作表:
ExcelApplication1.ActiveSheet.Used.Range.Copy;
b.拷貝指定區域:
ExcelApplication1.ActiveSheet.Range[ 'A1:E2' ].Copy;
c.從A1位置開始粘貼:
ExcelApplication1.ActiveSheet.Range.[ 'A1' ].PasteSpecial;
d.從文件尾部開始粘貼:
ExcelApplication1.ActiveSheet.Range.PasteSpecial;
18) 插入一行或一列:
a. ExcelApplication1.ActiveSheet.Rows[2].Insert;
b. ExcelApplication1.ActiveSheet.Columns[1].Insert;
19) 刪除一行或一列:
a. ExcelApplication1.ActiveSheet.Rows[2].Delete;
b. ExcelApplication1.ActiveSheet.Columns[1].Delete;
20) 打印預覽工作表:
ExcelApplication1.ActiveSheet.PrintPreview;
21) 打印輸出工作表:
ExcelApplication1.ActiveSheet.PrintOut;
22) 工作表保存:
if not ExcelApplication1.ActiveWorkBook.Saved then
ExcelApplication1.ActiveSheet.PrintPreview;
23) 工作表另存為:
ExcelApplication1.SaveAs( 'C:\Excel\Demo1.xls' );
24) 放棄存盤:
ExcelApplication1.ActiveWorkBook.Saved := True;
25) 關閉工作簿:
ExcelApplication1.WorkBooks.Close;
26) 退出 Excel:
ExcelApplication1.Quit;
ExcelApplication1.Disconnect;
三.使用Delphi控制Excle二維圖
在Form中分別放入ExcelApplication, ExcelWorkbook和ExcelWorksheet
var asheet1,achart, range:variant;
1)選擇當第一個工作薄第一個工作表
asheet1:=ExcelApplication1.Workbooks[1].Worksheets[1];
2)增加一個二維圖
achart:=asheet1.chartobjects.add(100,100,200,200);
3)選擇二維圖的形態
achart.chart.charttype:=4;
4)給二維圖賦值
series:=achart.chart.seriescollection;
range:=sheet1!r2c3:r3c9;
series.add(range,true);
5)加上二維圖的標題
achart.Chart.HasTitle:=True;
achart.Chart.ChartTitle.Characters.Text:=』 Excle二維圖』
6)
我是這樣寫的:
var i,j:integer;
ii:string;
begin
ExcelApplication1.Visible[0]:=True;
ExcelApplication1.Caption:='Excel Application';
try
ExcelApplication1.Workbooks.Open(ExtractFilePath(paramstr(0))+'文件名.xls',
null,null,null,null,null,null,null,null,null,null,null,null,0); //獲取當前路徑下的文件並且打開
except
ExcelApplication1.Disconnect;//出現異常情況時關閉
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]);//ExcelWorkbook1與Eexcelapplication1建立連接
ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _Worksheet);//Excelworksheet1與Excelworkbook1建立連接
fr_jjfenxi.Label3.Caption:='ExcelWorksheet1.Cells.Item[3,1]';
//ExcelApplication1.WorkBooks1.Close;
ExcelApplication1.Disconnect;
ExcelApplication1.Quit;
但是label3卻不能顯示第三行,第一列中的數據。請各位指點!!!
附說明:
一) 使用動態創建的方法
首先創建 Excel 對象,使用ComObj:
var ExcelApp: Variant;
ExcelApp := CreateOleObject( 'Excel.Application' );
1) 顯示當前窗口:
ExcelApp.Visible := True;
2) 更改 Excel 標題欄:
ExcelApp.Caption := '應用程序調用 Microsoft Excel';
3) 添加新工作簿:
ExcelApp.WorkBooks.Add;
4) 打開已存在的工作簿:
ExcelApp.WorkBooks.Open( 'C:\Excel\Demo.xls' );
5) 設置第2個工作表為活動工作表:
ExcelApp.WorkSheets[2].Activate;
或
ExcelApp.WorksSheets[ 'Sheet2' ].Activate;
6) 給單元格賦值:
ExcelApp.Cells[1,4].Value := '第一行第四列';
7) 設置指定列的寬度(單位:字符個數),以第一列為例:
ExcelApp.ActiveSheet.Columns[1].ColumnsWidth := 5;
8) 設置指定行的高度(單位:磅)(1磅=0.035厘米),以第二行為例:
ExcelApp.ActiveSheet.Rows[2].RowHeight := 1/0.035; // 1厘米
9) 在第8行之前插入分頁符:
ExcelApp.WorkSheets[1].Rows.PageBreak := 1;
10) 在第8列之前刪除分頁符:
ExcelApp.ActiveSheet.Columns[4].PageBreak := 0;
11) 指定邊框線寬度:
ExcelApp.ActiveSheet.Range[ 'B3:D4' ].Borders[2].Weight := 3;
1-左 2-右 3-頂 4-底 5-斜( \ ) 6-斜( / )
12) 清除第一行第四列單元格公式:
ExcelApp.ActiveSheet.Cells[1,4].ClearContents;
13) 設置第一行字體屬性:
ExcelApp.ActiveSheet.Rows[1].Font.Name := '隸書';
ExcelApp.ActiveSheet.Rows[1].Font.Color := clBlue;
ExcelApp.ActiveSheet.Rows[1].Font.Bold := True;
ExcelApp.ActiveSheet.Rows[1].Font.UnderLine := True;
14) 進行頁面設置:
a.頁眉:
ExcelApp.ActiveSheet.PageSetup.CenterHeader := '報表演示';
b.頁腳:
ExcelApp.ActiveSheet.PageSetup.CenterFooter := '第&P頁';
c.頁眉到頂端邊距2cm:
ExcelApp.ActiveSheet.PageSetup.HeaderMargin := 2/0.035;
d.頁腳到底端邊距3cm:
ExcelApp.ActiveSheet.PageSetup.HeaderMargin := 3/0.035;
e.頂邊距2cm:
ExcelApp.ActiveSheet.PageSetup.TopMargin := 2/0.035;
f.底邊距2cm:
ExcelApp.ActiveSheet.PageSetup.BottomMargin := 2/0.035;
g.左邊距2cm:
ExcelApp.ActiveSheet.PageSetup.LeftMargin := 2/0.035;
h.右邊距2cm:
ExcelApp.ActiveSheet.PageSetup.RightMargin := 2/0.035;
i.頁面水平居中:
ExcelApp.ActiveSheet.PageSetup.CenterHorizontally := 2/0.035;
j.頁面垂直居中:
ExcelApp.ActiveSheet.PageSetup.CenterVertically := 2/0.035;
k.打印單元格網線:
ExcelApp.ActiveSheet.PageSetup.PrintGridLines := True;
15) 拷貝操作:
a.拷貝整個工作表:
ExcelApp.ActiveSheet.Used.Range.Copy;
b.拷貝指定區域:
ExcelApp.ActiveSheet.Range[ 'A1:E2' ].Copy;
c.從A1位置開始粘貼:
ExcelApp.ActiveSheet.Range.[ 'A1' ].PasteSpecial;
d.從文件尾部開始粘貼:
ExcelApp.ActiveSheet.Range.PasteSpecial;
16) 插入一行或一列:
a. ExcelApp.ActiveSheet.Rows[2].Insert;
b. ExcelApp.ActiveSheet.Columns[1].Insert;
17) 刪除一行或一列:
a. ExcelApp.ActiveSheet.Rows[2].Delete;
b. ExcelApp.ActiveSheet.Columns[1].Delete;
18) 打印預覽工作表:
ExcelApp.ActiveSheet.PrintPreview;
19) 打印輸出工作表:
ExcelApp.ActiveSheet.PrintOut;
20) 工作表保存:
if not ExcelApp.ActiveWorkBook.Saved then
ExcelApp.ActiveSheet.PrintPreview;
21) 工作表另存為:
ExcelApp.SaveAs( 'C:\Excel\Demo1.xls' );
22) 放棄存盤:
ExcelApp.ActiveWorkBook.Saved := True;
23) 關閉工作簿:
ExcelApp.WorkBooks.Close;
24) 退出 Excel:
ExcelApp.Quit;
(二) 使用Delphi 控件方法
在Form中分別放入ExcelApplication, ExcelWorkbook和ExcelWorksheet。
1) 打開Excel
ExcelApplication1.Connect;
2) 顯示當前窗口:
ExcelApplication1.Visible[0]:=True;
3) 更改 Excel 標題欄:
ExcelApplication1.Caption := '應用程序調用 Microsoft Excel';
4) 添加新工作簿:
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.Add(EmptyParam,0));
5) 添加新工作表:
var Temp_Worksheet: _WorkSheet;
begin
Temp_Worksheet:=ExcelWorkbook1.
WorkSheets.Add(EmptyParam,EmptyParam,EmptyParam,EmptyParam,0) as _WorkSheet;
ExcelWorkSheet1.ConnectTo(Temp_WorkSheet);
End;
6) 打開已存在的工作簿:
ExcelApplication1.Workbooks.Open (c:\a.xls
EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,0)
7) 設置第2個工作表為活動工作表:
ExcelApplication1.WorkSheets[2].Activate; 或
ExcelApplication1.WorksSheets[ 'Sheet2' ].Activate;
8) 給單元格賦值:
ExcelApplication1.Cells[1,4].Value := '第一行第四列';
9) 設置指定列的寬度(單位:字符個數),以第一列為例:
ExcelApplication1.ActiveSheet.Columns[1].ColumnsWidth := 5;
10) 設置指定行的高度(單位:磅)(1磅=0.035厘米),以第二行為例:
ExcelApplication1.ActiveSheet.Rows[2].RowHeight := 1/0.035; // 1厘米
11) 在第8行之前插入分頁符:
ExcelApplication1.WorkSheets[1].Rows.PageBreak := 1;
12) 在第8列之前刪除分頁符:
ExcelApplication1.ActiveSheet.Columns[4].PageBreak := 0;
13) 指定邊框線寬度:
ExcelApplication1.ActiveSheet.Range[ 'B3:D4' ].Borders[2].Weight := 3;
1-左 2-右 3-頂 4-底 5-斜( \ ) 6-斜( / )
14) 清除第一行第四列單元格公式:
ExcelApplication1.ActiveSheet.Cells[1,4].ClearContents;
15) 設置第一行字體屬性:
ExcelApplication1.ActiveSheet.Rows[1].Font.Name := '隸書';
ExcelApplication1.ActiveSheet.Rows[1].Font.Color := clBlue;
ExcelApplication1.ActiveSheet.Rows[1].Font.Bold := True;
ExcelApplication1.ActiveSheet.Rows[1].Font.UnderLine := True;
16) 進行頁面設置:
a.頁眉:
ExcelApplication1.ActiveSheet.PageSetup.CenterHeader := '報表演示';
b.頁腳:
ExcelApplication1.ActiveSheet.PageSetup.CenterFooter := '第&P頁';
c.頁眉到頂端邊距2cm:
ExcelApplication1.ActiveSheet.PageSetup.HeaderMargin := 2/0.035;
d.頁腳到底端邊距3cm:
ExcelApplication1.ActiveSheet.PageSetup.HeaderMargin := 3/0.035;
e.頂邊距2cm:
ExcelApplication1.ActiveSheet.PageSetup.TopMargin := 2/0.035;
f.底邊距2cm:
ExcelApplication1.ActiveSheet.PageSetup.BottomMargin := 2/0.035;
g.左邊距2cm:
ExcelApplication1.ActiveSheet.PageSetup.LeftMargin := 2/0.035;
h.右邊距2cm:
ExcelApplication1.ActiveSheet.PageSetup.RightMargin := 2/0.035;
i.頁面水平居中:
ExcelApplication1.ActiveSheet.PageSetup.CenterHorizontally := 2/0.035;
j.頁面垂直居中:
ExcelApplication1.ActiveSheet.PageSetup.CenterVertically := 2/0.035;
k.打印單元格網線:
ExcelApplication1.ActiveSheet.PageSetup.PrintGridLines := True;
17) 拷貝操作:
a.拷貝整個工作表:
ExcelApplication1.ActiveSheet.Used.Range.Copy;
b.拷貝指定區域:
ExcelApplication1.ActiveSheet.Range[ 'A1:E2' ].Copy;
c.從A1位置開始粘貼:
ExcelApplication1.ActiveSheet.Range.[ 'A1' ].PasteSpecial;
d.從文件尾部開始粘貼:
ExcelApplication1.ActiveSheet.Range.PasteSpecial;
18) 插入一行或一列:
a. ExcelApplication1.ActiveSheet.Rows[2].Insert;
b. ExcelApplication1.ActiveSheet.Columns[1].Insert;
19) 刪除一行或一列:
a. ExcelApplication1.ActiveSheet.Rows[2].Delete;
b. ExcelApplication1.ActiveSheet.Columns[1].Delete;
20) 打印預覽工作表:
ExcelApplication1.ActiveSheet.PrintPreview;
21) 打印輸出工作表:
ExcelApplication1.ActiveSheet.PrintOut;
22) 工作表保存:
if not ExcelApplication1.ActiveWorkBook.Saved then
ExcelApplication1.ActiveSheet.PrintPreview;
23) 工作表另存為:
ExcelApplication1.SaveAs( 'C:\Excel\Demo1.xls' );
24) 放棄存盤:
ExcelApplication1.ActiveWorkBook.Saved := True;
25) 關閉工作簿:
ExcelApplication1.WorkBooks.Close;
26) 退出 Excel:
ExcelApplication1.Quit;
ExcelApplication1.Disconnect;
(三) 使用Delphi 控制Excle二維圖
在Form中分別放入ExcelApplication, ExcelWorkbook和ExcelWorksheet
var asheet1,achart, range:variant;
1)選擇當第一個工作薄第一個工作表
asheet1:=ExcelApplication1.Workbooks[1].Worksheets[1];
2)增加一個二維圖
achart:=asheet1.chartobjects.add(100,100,200,200);
3)選擇二維圖的形態
achart.chart.charttype:=4;
4)給二維圖賦值
series:=achart.chart.seriescollection;
range:=sheet1!r2c3:r3c9;
series.add(range,true);
5)加上二維圖的標題
achart.Chart.HasTitle:=True;
achart.Chart.ChartTitle.Characters.Text:=』 Excle二維圖』
- 9月 01 週一 200817:07
檔案連結的修改--關聯性檔案的修改

大哥哥剛好有這方面的苦惱,找到了這篇文章,配合GPO的Login Script,大哥哥就不用一台一台電腦去設定,輕鬆多了,讚啦~~ 檔案連結的修改 不知道大家有沒有和我同樣的經驗,每每裝了個軟體之後,一堆的檔案連結就因此被修改了。 拿我學校當例子好了,原本電腦是使用Windows XP內建的Windows Picture and Fax View雖功能不強,但是使用Page Up和Page Down就可以檢視圖片(Gif/Jpg/Png)了,實在很方便。雖然功能上和大家常用的ACDsee有段差距在,但是由於是學校單位內總不能安裝一大堆沒有版權的非法軟體,自找麻煩。 但是好景不常,再安裝了校園買的校園版Ulead PhotoImpact後,所有的圖片連結就全被改掉了;現在每每為了看一張圖片,就要開啟PhotoImpact來,速度又慢又難用,還沒法子選看上一張或下一張的。 今天花了早上三個小時的時間,好好來找出問題的相關連性來。 對於每一個使用者,都可以在「開始 設定 控制台 資料夾選項」中,選擇「檔案類型」的標籤,於「註冊的檔案類型中」選擇想要修改的副檔名,然後點選「變更」。 會開啟如下的視窗讓您選擇想要用什麼應用程式開啟,當然你也可以把「永遠用選取的程式來開啟這種檔案」的。 那怎麼看到每個檔案的副檔名呢? 相同地,在剛剛開啟「開始 設定 控制台 資料夾選項」的視窗中,選擇「檢視」的標籤,於進階設定中不勾選「隱藏已知檔案類型的副檔名」,建議各位一定要把這項功能打開,免得有時被檔案的樣子給騙了! 但是!!已系統的眼光來看,我並不建議這樣子的修改!因為這樣子的修改方式是會跟著使用者而動的,會成成每一個使用者各有各的開啟檔案方式;這裏我遇到的問題是因為安裝了某一個軟體後,造成所有的圖片檔案連結被修改了。 所以,接著我們就正式進入今天的討論題目:如果修改全機(系統)的檔案連結。 首先,在Ulead PhotoImpact中的「檔案 偏好設定 一般 」,選擇「關聯」,把不想被關聯的檔案格式移掉,例如BMP, GIF, JPEG, TIF等。 第二步驟,重新連結Windows Picture and Fax View元件;先反裝將登錄取消 regsvr32 /u shimgvw.dll,接著再重新將元件安裝掛上 regsvr32 shimgvw.dll 。 這樣子大致上就完成沒問題了。
但是運氣不佳的我,還有另外一個問題,由於先前自做主張改採用Internet Explor開啟,而且是在每一個使用者的登錄資訊中修改,再儲存回Default User,進而影響到"每一位"使用的"個人資訊檔",天啊!大災難! 但以上這步驟這麼複雜麻煩,我實在沒法子要求老師們自己修改,所以我只好再來想想如何暗暗地、偷偷地幫忙修改。 首先我們一定要先瞭解登錄檔 Registry,事實上,我們剛剛在這一系列視窗中的修改其設定值也是儲存為登錄檔中,所以在修改登錄檔時,請一定要小心謹慎哦! 所有的檔關聯資訊都是保存在登錄表中的,那麼它在登錄表又是怎樣構成的呢?我們不妨打開註冊表「開始→執行→Regedit」,觀察根鍵HKEY_CLASSES_ROOT之下的各個主鍵。你是不是看到了很多前面有一個點,後面好像是檔副檔名的主鍵bbat、.txt、.jpg、.html呢? 這些登錄表就是檔案關聯的關鍵所在 我們把這一類的主鍵稱之為「副檔名主鍵」,每個副檔名主鍵都有一個默認鍵值。如主鍵.bat的預設值為Batfile;.txt主鍵的預設值為Txtfile。舉了這兩個例子,你是否看出了其中的規律?即:若“副檔名主鍵”名為.xxx(xxx為某一類檔的副檔名),那麼它的默認鍵值就為Xxxfile。當然並不是所有的預設值都是這樣,也可能多個主鍵對應同一預設值。比如:主鍵.jpeg和主鍵.jpg,它們的預設值是Jpgfile;.html和htm的預設值都為Htmlfile。 這個默認鍵值的作用就非同小可了,它可是檔關聯的橋樑,是它將文件的類型(以副檔名來標識檔類型)與檔的關聯聯繫起來。不信,當你將某一“副檔名主鍵”的默認鍵值亂改一通之後,你就會發現,該類檔的許多關聯項在右鍵菜單中消失了!既然這個重要的默認鍵值起了一個橋樑的作用,那麼橋樑的另一端——檔的關聯又是如何定義的呢? 繼續看登錄表,依然是在HKEY_CLASSES_ROOT根鍵之下。我們可以看到該根鍵之下有主鍵如Htmlfile,Txtfile等。這些主鍵好像都是剛才我們所說的“副檔名主鍵”的預設值。不錯,上述預設值在此處正好變成了主鍵名——這就是橋樑。我們把這一類的主鍵稱為“標識主鍵”。一般而言,在“標識主鍵”之下有以下幾個重要主鍵: DefaultIcon主鍵:它的功能是定義該類檔的默認圖示。 Shell主鍵:檔關聯之「連結」所在,它的預設值也很有用。雙擊檔之所以能將檔打開,就是利用了系統註冊表所設定的默認打開方式,即由Shell主鍵的默認鍵值來控制。它之下的每個主鍵,都可稱為“關聯主鍵”。“關聯主鍵”的鍵名是任意的(建議用英文),它的默認鍵值也是我們感興趣的。因為這一默認鍵值會直接顯示在右鍵功能表中,並且每個“關聯主鍵”之下都有一個Command主鍵,這個主鍵定義的就是「該關聯對應的執行程式」。 講得會不會太深了些,簡單說: HKEY_CLASSES_ROOT下,掌握著整台電腦的檔案關聯;
HKEY_Current_UserSoftwareMicrosoftWindowsCurrentVisionExplorerFileExts下,儲存著個人的檔案關聯;
而個人的檔案關聯 優於 系統的檔案關聯! 接著互相對照就可以修改啦! 資料參考:文件開啟方式全記錄
好接著就要能匯出和滙入登錄檔就可以啦! 舉個例子好了,以下我只需要使用記事本輸入以下內容,然後將檔案儲存成「AutoLogin.reg」就可以了.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWinlogon]
"DefaultUserName"="teacher"
"DefaultPassword"="iwantloginautomatically"
"AutoAdminLogon"="1"
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWinlogon]
"DefaultUserName"=-
"DefaultPassword"=-
"AutoAdminLogon"="0"
Windows Registry Editor Version 5.00
[-HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWinlogon]
就是加上一個 " - " 減號啦 !! 資料參考:如何新增、修改、刪除登錄檔 (Registry)How To Add, Modify, or Delete Registry Subkeys and Values by Using a Registration Entries (.reg) File
好的,終於說到最後啦,由於我想要自動執行這段機碼,於使用者登入電腦時自動修正這檔案關聯性的登錄檔,所以在Command Line命令列環境下的使用方式為: Regedit.exe /S importfile.reg 參考資料: GUI mode:
REGEDIT.EXE
Import (merge) a .REG file:
REGEDIT.EXE [ /L:system ¦ /R:user ] [ /S ] importfile.REG
Export to a (.REG) file:
REGEDIT.EXE [ /L:system ¦ /R:user ] /E exportfile "registry_key"
Parameters:
importfile.REG .REG file to be imported (or "merged")
exportfile File name the information should be written to
"registry_key" Registry key to be exported ( "HKEY_CLASSESROOT*shell" )
/S Silent, i.e. hide confirmation box when importing files
/E Export registry file
/L:system Specify the location of the system.dat to use
/R:user Specify the location of the user.dat to use
好啦,又花了一個小時才做完這篇報告和記錄。這是花了今天一天工作得到的心得。 自己做一份記錄,也順便分享給各位朋友,希望對大家有所幫助。
- 9月 01 週一 200811:54
MySQL--Windows下使用MyODBC連線中文亂碼解決方式
編碼真的是有點麻煩又不會太麻煩的事...............為何不統一編碼?這就跟為何世界不統一文字語言一樣..........暫時無解........... 在windows下的ODBC資料來源設定MyODBC: 在 Initial statement 的地方輸入: set names big5
本來PhpMyAdmin底下的中文與DELPHI內的中文都會變亂碼,加入這個設定後在重新連線,中文都正確顯示了^^ 參考網頁: http://a-wei.net/archives/category/mysql 要在 windows 上使用 myODBC 連結 mysql ,中文都會亂碼 . 這也折騰了好一陣子,終於破解 . 伺服端的設定都可以比照前面的文章,重點在於 MyODBC 的設定. 在 Initial statement 的地方輸入: set names big5 這樣就行了!
- 8月 29 週五 200810:55
Delphi7+MySql+ODBC3.51使用ado資料庫連線教學
DELPHI資料庫連線方式很多,而且連線各資料庫系統的方式也不相同,ODBC是連線資料庫常見的其中一種,不過如果是製作應用程式,需要在每台電腦上安裝應用程式,那必須也要在每台電腦上安裝odbc相關的驅動程式與設定,這些電腦也才能正確連線資料庫............... =========================================================================================== 文章參考:http://delphi.ktop.com.tw/board.php?cid=31&fid=77&tid=57727 由於最近本人需要開始研究資料庫,經過ㄧ段時間在各處找尋Delphi+Mysql的解決方案,參考過許多資料後經過測試,發現新手剛學習的時候過多的資料會造成不知如何選擇,還須要很多時間測試,也沒有簡單的範例可供參考,在去除許多複雜的做法後決定寫ㄧ篇最簡單的Delphi+Mysql入門教學,期望透過這篇文章能夠讓使用Delphi+Mysql的入門者有各路徑可循,雖然這篇教學並不是最完美的,而是以最簡單最少步驟來撰寫,也期望各位前輩有興趣的話ㄧ起把經驗分享出來。
Delphi7+MySql+ODBC3.51 (ADO Segment way Teaching)
前言:
由於Linux盛行也帶動Mysql的盛行,於是想用Delphi與Mysql來設計與資料庫有關的程式,經過搜尋網站上的資訊與測試,以新手的角度最後還是選用Delphi7+MySql+ODBC3.51的方式,當然還有其它方式(請看參考資料1),這各方是的優點:很快可以學會連線,缺點:需要安裝ODBC程式,當然也有解決辦法只是我還不會,如果要用此種方式記得在使用程式的電腦上設定ODBC不然可是會出錯。
設定Windows 的ODBC步驟:
首先參考下載資料的MySql網址,下載ODBC程式,版本請參考各自的Database Server版本來配合。
安裝完成ODBC以後就要在電腦中設定ODBC,請執行『控制台->系統管理工具->資料來源ODBC』。
選取『使用者資料來源名稱』標籤,點選『新增』來增加ODBC連線名稱。
有安裝MySql提供的ODBC驅動程式才能看到『MySQL ODBC 3.51 Driver』。
請選取『MySQL ODBC 3.51 Driver』再按下完成。
請設定資料連線名稱,這裡的名稱將會在Delphi內出現,連線名稱請自行設定,接著設定HOST、Database Name、User、Password,設定完成以後請點一下『Test Data Source』測試連線狀況。
出現下面這各畫面就是設定連線成功。
出現下面這各畫面就是設定『連線失敗』,請檢查前面的步驟有哪裡錯了,帳號、密碼與Database Server權限是最容易發生的錯誤,請再次檢查看看吧。
完成上面步驟都沒有錯誤的話,應該可以看到設定的連線名稱。
接著設定『系統資料來源名稱』標籤,這裡與上面的步驟幾乎相同,請參考上面的步驟,完成以後會與下面畫面一樣出現設定的連線名稱。
以上就是如何設定ODBC的部份。
Delphi 實作步驟:
進入軟體後選擇ADO標籤,在點選TADOConnection 元件。
在版面上把元件顯示出來。
對著元件點兩下左鍵,就會出現下面的設定畫面,這裡是設定要與Database Server連接的ODBC,點選『Build』繼續設定。
請選擇『Microsof OLE DB Provider for ODBC Driver』點選『下一步』繼續設定。
接著點選 ?選取剛剛設定的ODBC連線名稱。
輸入帳號、密碼資訊後點選『測試連接』測試連線是否正常。
如果Database Server 不用密碼可以將『空白密碼』打勾。
如果每次不想打帳號密碼可以將『允許儲存密碼』打勾。
出現這各畫面就是連接成功。
點選『進階』標籤進入設定權限,通常都會設定可以Read / Write,如果這裡連Read都沒有設定允許,那麼後面讀取資料就會發生錯誤,因為沒有權限可以讀取資料庫。
如果有設定還是不能讀取Database,請檢查database Server上的權限設定。
設定完成以後請點選『確定』。
回到最初的畫面可以發現多了連線字串,請點選『OK』結束ODBC連線設定
到此Delphi透過ADO與Database Server 連線已經完成。
[bule]Delphi Database元件設定:[/bule]
請參考範例程式。
完成以後就可以看到在Delphi中顯示出資料庫內容。
範例程式說明:
?ADOTEST01使用TADOTable元件 使用各元件連結的選項設定,並無程式碼。
?ADOTEST02使用TADOQuery元件 使用各元件連結的選項設定,並無程式碼。
?ADOTEST03使用程式碼設定各元件之間的連結。
? TADOConnection元件:
? 請用上述方式設定各項屬性或自行設定ConnectionString
? TADOTable元件:
? Connection
? TableName
? TADOQuery元件:
? Connection
? SQL
? TDataSource(Data Access標籤)元件:
? Dataset
? TDBGrid元件:
? Dataset
? 透過這些元件屬性可以簡單的達到與資料庫連線,由於屬性使用方式需要活用在此不將內容列出,請自行設定或看範例設定。
參考資料:
1. [url]http://delphi.ktop.com.tw/topic.php?TOPIC_ID=27168[/url]
2. [url]http://delphi.ktop.com.tw/topic.php?TOPIC_ID=52996[/url]
3. [url]http://delphi.ktop.com.tw/topic.php?TOPIC_ID=53224[/url]
下載資料:
MyODBC-standard-3.51.9-win.msi http://dev.mysql.com/downloads/
TADOConnection小技巧:
ADOConnectionm元件中的LoginPrompt屬性設為False則每次開啟不用詢問帳號密碼。
2004/10/13
Jongwaye ================================================== 如果覺的 ODBC 有點慢的話,可以試試用 http://www.zeoslib.net/ 的,
小弟用 BCB + zeoslib + mySQL 使用愉快.
- 8月 28 週四 200815:49
智慧語錄
今天看到一句話,覺得滿有道理的: 有困難就是能力不足,有麻煩就是方法不對... 劣者總是遇到困難,也時常出現麻煩 天使道:大哥哥常常遇到困難......也常常有麻煩 (劣者) 大哥哥:@#$%︿&*...............................
- 8月 28 週四 200810:16
DHCP伺服器探測工具(DHCP Server Locator,dhcploc.exe)─dhcploc.exe
DHCP伺服器探測工具(DHCP Server Locator,dhcploc.exe)─dhcploc.exe 在公司網路裡有時會遇到有人把個人的ip-share之類有DHCP的設備接到公司網路,那時就會發生公司內部IP錯亂,但是這種情況下就要確定是否真的有DHCP的設備在同一網路上,那可以藉這個指令來做測試
DHCP伺服器探測工具(DHCP Server Locator,dhcploc.exe)─dhcploc.exe可以顯示指定的子網路範圍內,所有運作中的DHCP伺服器的名稱。此工具也可以用來偵測未認證的DHCP伺服器,而如果真的有發現的話,它將會發出「嗶」聲或是送出警示訊息。
參考資料:
How to find out how many more addresses are available in the DHCP server?
find your dhcp servers
工具下載:http://www.microsoft.com/downloads/details.aspx?displaylang=zh-tw&FamilyID=49ae8576-9bb9-4126-9761-ba8011fabf38
或者在2003及\XP光碟的SUPPORT\TOOLS\SUPTOOLS.MSI
假設正確的DHCP是10.237.147.50
C:\Documents and Settings\rvw.KOEKJE>ipconfig /all
Windows IP-configuratie
...
Ethernet-adapter LAN-verbinding:
...
Standaardgateway. . . . . . . . . : 10.237.147.2
DHCP-server . . . . . . . . . . . : 10.237.147.50
DNS-servers . . . . . . . . . . . : 213.51.129.37
213.51.144.37
輸入一下這台下指令主機的IP為10.237.147.101(一定要是本機的IP,其它IP不允許),按下 d 去偵測,按 q 結束
Give your current IP address as an argument to dhcploc, and press "d" (discover). Press d a few times to get a good view.
DHCP伺服器探測工具(DHCP Server Locator,dhcploc.exe)─dhcploc.exe可以顯示指定的子網路範圍內,所有運作中的DHCP伺服器的名稱。此工具也可以用來偵測未認證的DHCP伺服器,而如果真的有發現的話,它將會發出「嗶」聲或是送出警示訊息。
參考資料:
How to find out how many more addresses are available in the DHCP server?
find your dhcp servers
工具下載:http://www.microsoft.com/downloads/details.aspx?displaylang=zh-tw&FamilyID=49ae8576-9bb9-4126-9761-ba8011fabf38
或者在2003及\XP光碟的SUPPORT\TOOLS\SUPTOOLS.MSI
假設正確的DHCP是10.237.147.50
C:\Documents and Settings\rvw.KOEKJE>ipconfig /all
Windows IP-configuratie
...
Ethernet-adapter LAN-verbinding:
...
Standaardgateway. . . . . . . . . : 10.237.147.2
DHCP-server . . . . . . . . . . . : 10.237.147.50
DNS-servers . . . . . . . . . . . : 213.51.129.37
213.51.144.37
輸入一下這台下指令主機的IP為10.237.147.101(一定要是本機的IP,其它IP不允許),按下 d 去偵測,按 q 結束
Give your current IP address as an argument to dhcploc, and press "d" (discover). Press d a few times to get a good view.
C:\WINDOWS>dhcploc 10.237.147.101
15:28:30 OFFER (IP)10.237.147.199 (S)10.237.147.50 ***Form
15:28:32 OFFER (IP)10.237.147.170 (S)10.237.147.1 ***
15:28:32 OFFER (IP)10.237.147.199 (S)10.237.147.50 ***
15:28:34 OFFER (IP)10.237.147.199 (S)10.237.147.50 ***
15:28:35 OFFER (IP)10.237.147.170 (S)10.237.147.1 ***
15:28:35 OFFER (IP)10.237.147.199 (S)10.237.147.50 ***
15:28:36 OFFER (IP)10.237.147.170 (S)10.237.147.1 ***
15:28:37 OFFER (IP)10.237.147.199 (S)10.237.147.50 ***
不斷的按 d 去偵測,結果出現除了10.237.147.50以外的10.237.147.1,那這個就是有問題的DHCP
這樣就可以判斷出在這個網路上,有一台DHCP在作怪發IP- 8月 28 週四 200810:02
讓XP SP3也支援網路層級驗證NLA

什麼是網路層級驗證NLA? 網路層級驗證 (NLA) 是一種新的驗證方法,在您建立完整的遠端桌面連線及登入畫面出現前,即預先完成使用者驗證。 這是更為安全的驗證方法,有助於保護遠端電腦不受駭客與惡意軟體的侵害。NLA 的優點包括: 一開始僅需要較少的遠端電腦資源。遠端電腦在驗證使用者前使用有限的資源,不像之前的版本一樣啟動完整的遠端桌面連線。 它能降低阻斷服務攻擊的風險,而提供更佳的安全性。(阻斷服務攻擊會嘗試限制或阻止存取網際網路)。 它使用遠端電腦驗證,能夠避免使用者連線到專為惡意用途而設定的遠端電腦。 ============================================== 在Windows Server 2008的環境多了一項網路層級驗證 (NLA),但大多數的電腦都是XP,那XP預設並不支援這樣的模式,目前只有Vista與Windows Server 2008可以使用,那如果XP要使用的話其實也是可以的啦,只要改一下機碼就可以了
預設XP SP3是不支援網路層級驗證
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
Security Packages裡加上tspkg
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders
加上紅色的字
SecurityProviders"="msapsspc.dll, schannel.dll, digest.dll, msnsspc.dll,credssp.dll
重新開啟遠端桌面
- 8月 27 週三 200816:42
新竹很有名的傳統冰棒
大哥哥住新竹數十年....而且住家離這家店不遠................今天才知道有這家,開了40多年=0= 我竟然沒吃過@@ 814麗香冰棒 
814麗香冰店 地址:新竹市大同路117號 電話:(03)522-6488
814冰棒是新竹在地的老牌枝仔冰,至少有三、四十年的歷史。
據說民國51年間,空軍菸廠附設福利社製造的冰棒頗受歡迎,
814是空軍節,所以空軍菸廠俗稱814菸廠,冰棒也就順勢稱為814冰棒了!
當時的冰棒用料好,口味佳,一支售價高達五毛錢,可說是高級冰棒。
而民國58年,菸廠裁撤,合作社也隨之關門,很多離職員工都開起冰店,
全盛期竟同時有8家冰店製售814冰棒,麗香冰店就是其中一家。
店址在大同路上、中央路和中山路之間,距離東門市場不遠。
另外,光復路上另有一家萬記814冰棒,也是退役軍人開設,老闆姓陳。
店裡還張掛著退除役官兵輔導委員會所頒發的褒揚狀。
可惜現在不知遷往何處,徒留招牌而已。
這兩家冰店,哪一家才是正統的814冰棒呢?
有人說都不是,只是沿用了814的名稱罷了!
不過我寧可相信麗香冰店是存有古早味的,反正現在也只剩這一家了!
製冰機
麗香冰店自開業以來,除了櫃台裝修過,大部份仍維持原狀。
例如這台古老的製冰機,現在仍在店裡運轉良好喔!
每半小時,就可以生產出一批冰棒,工作人員得趕緊在模子裡擺好冰棒棍。
814麗香冰棒 NT$12
冰棒的口味一共八種:紅豆、綠豆、芋頭、花生、百香果、酸梅、鳳梨和牛奶。
原本是一支10元,買十送一。
不巧從今年七月七日起,一支漲成12元,買十送一的優惠也取消了!
冰棒沒有外包裝,一整支直筒筒的,像堵牆般平坦順蕩,沒有任何壓紋。
不知怎的,我老是想到簡媜在某篇散文裡對一名陌生男子的描述:
「中等身材結結實實地,很年輕,像一支剛撕開紙袋抽出的西米露冰棒,冒著絲絲冷煙。」
比較特別的是冰棒棍一律不正插,和冰棒呈150度的大斜角。
紅豆:這應該是招牌口味吧!
冰棒帶有牛奶味,裡頭除了紅豆,還混雜了花豆,為數不少,
幾乎每一口都吃得到豆粒,料多又實在,而且不會過於甜膩。 綠豆:屬傳統風味,一樣加了牛奶,也吃得到綠豆顆粒。
鳳梨:味道很清爽,偏甜微酸,裡頭也夾雜了不少果肉。
芋頭:這個我比較不愛,一方面我不特別偏好芋頭口味,
二則味道還算香純,但是吃不到芋頭顆粒,就會湧起空虛感。 另外就是我偏好酸味的冰棒啦! 花生:這是我家小朋友的最愛,不大甜,尤其是跟一般花生製品比起來,
味道不算特別濃郁,但是一口咬下去,花生的香氣隨即在嘴裡散布開來。 酸梅:這個口味我期望很深,可是初次品嚐,略感失望,
它含有大量的梅子果肉,甜甘微酸,味道還算不錯,
但是我想要更酸一點的,鑲有一整顆梅子的那種古早味。
百香果:百香果反而比酸梅稍酸一點,很清爽的味道,
裡頭似乎加了一點梅子,和一般百香果感覺不甚相同。
這是我家小朋友票選的第二名。 牛奶:吃起來很像煉乳,甜度比別款略高,小朋友不愛,我倒是覺得還不錯 。

814麗香冰店 地址:新竹市大同路117號 電話:(03)522-6488
814冰棒是新竹在地的老牌枝仔冰,至少有三、四十年的歷史。
據說民國51年間,空軍菸廠附設福利社製造的冰棒頗受歡迎,
814是空軍節,所以空軍菸廠俗稱814菸廠,冰棒也就順勢稱為814冰棒了!
當時的冰棒用料好,口味佳,一支售價高達五毛錢,可說是高級冰棒。
而民國58年,菸廠裁撤,合作社也隨之關門,很多離職員工都開起冰店,
全盛期竟同時有8家冰店製售814冰棒,麗香冰店就是其中一家。
店址在大同路上、中央路和中山路之間,距離東門市場不遠。
另外,光復路上另有一家萬記814冰棒,也是退役軍人開設,老闆姓陳。
店裡還張掛著退除役官兵輔導委員會所頒發的褒揚狀。
可惜現在不知遷往何處,徒留招牌而已。
這兩家冰店,哪一家才是正統的814冰棒呢?
有人說都不是,只是沿用了814的名稱罷了!
不過我寧可相信麗香冰店是存有古早味的,反正現在也只剩這一家了!
製冰機
麗香冰店自開業以來,除了櫃台裝修過,大部份仍維持原狀。
例如這台古老的製冰機,現在仍在店裡運轉良好喔!
每半小時,就可以生產出一批冰棒,工作人員得趕緊在模子裡擺好冰棒棍。
814麗香冰棒 NT$12
冰棒的口味一共八種:紅豆、綠豆、芋頭、花生、百香果、酸梅、鳳梨和牛奶。
原本是一支10元,買十送一。
不巧從今年七月七日起,一支漲成12元,買十送一的優惠也取消了!
冰棒沒有外包裝,一整支直筒筒的,像堵牆般平坦順蕩,沒有任何壓紋。
不知怎的,我老是想到簡媜在某篇散文裡對一名陌生男子的描述:
「中等身材結結實實地,很年輕,像一支剛撕開紙袋抽出的西米露冰棒,冒著絲絲冷煙。」
比較特別的是冰棒棍一律不正插,和冰棒呈150度的大斜角。
紅豆:這應該是招牌口味吧!
冰棒帶有牛奶味,裡頭除了紅豆,還混雜了花豆,為數不少,
幾乎每一口都吃得到豆粒,料多又實在,而且不會過於甜膩。 綠豆:屬傳統風味,一樣加了牛奶,也吃得到綠豆顆粒。
鳳梨:味道很清爽,偏甜微酸,裡頭也夾雜了不少果肉。
芋頭:這個我比較不愛,一方面我不特別偏好芋頭口味,
二則味道還算香純,但是吃不到芋頭顆粒,就會湧起空虛感。 另外就是我偏好酸味的冰棒啦! 花生:這是我家小朋友的最愛,不大甜,尤其是跟一般花生製品比起來,
味道不算特別濃郁,但是一口咬下去,花生的香氣隨即在嘴裡散布開來。 酸梅:這個口味我期望很深,可是初次品嚐,略感失望,
它含有大量的梅子果肉,甜甘微酸,味道還算不錯,
但是我想要更酸一點的,鑲有一整顆梅子的那種古早味。
百香果:百香果反而比酸梅稍酸一點,很清爽的味道,
裡頭似乎加了一點梅子,和一般百香果感覺不甚相同。
這是我家小朋友票選的第二名。 牛奶:吃起來很像煉乳,甜度比別款略高,小朋友不愛,我倒是覺得還不錯 。
- 8月 27 週三 200815:31
網路相簿 Gallery.安裝教學 PHP語言寫的
參考網頁:http://lakers.eyio.net/mars/?p=184 Gallery.安裝教學 什麼是Gallery?! Gallery就是一套用PHP程式碼寫成的網路相本系統,很方便的地方在於他支援多國語言,也可以多人編輯,請參考本部落格的相本,就是用Gallery架成的。 那時候在安裝時因為不懂的安裝的方法,又下載錯檔案,再加上網路上都沒有人寫中文的安裝說明,所以白白花了無數小時的光陰在安裝Gallery上,那時就立志等我會安裝了,一定要寫一篇中文的安裝說明,不過等到突然開竅會安裝了,就又覺得實在太簡單了,一直遲遲沒有實現自己的諾言。 還好今天在某討論板上看到有人已經寫出來了,趕快轉載出來,以免後人找不到…
安裝好後修改設定值
將config.php, .htaccess 和 setup資料夾 權限改為777
修改好後再改回 config.php, .htaccess為644
Gallery FTP安裝教學 From:Yuri Xoops 1.先下載gallery和netpbm到你的電腦之中
2.將其解壓縮之後上傳到你的ftp空間(不管是public_html或是html都一樣,都放在這裡)
3. 權限設定
3-1. albums的資料夾(自行新增在你的主機中)–權限(CHOM)為777,記得資料夾的路徑,之後在設定時要用。
3-2. tmp的資料夾(在你的主機上)–權限為777,記得資料夾的路徑,之後在設定時要用。
3-3. gallery/setup/的權限設為777
gallery/config.php也要設成777
3-4. 把netpbm設為777並且裡面的檔案設為755
4. 設定:之後就可以連結到你的相簿進行設定了(http://你的網址/gallery/setup)
5. 有關設定注意事項 **netpbm的路徑要給對
(看是/home/你的帳號/html/netpbm 或是 /home/你的帳號/public_html/netpbm)
**album和tmp的路徑也別搞錯了 6. 然後儲存完之後,再把
setup的資料夾的權限設為0
config.php和.htaccess設為644
[Gallery安裝文件~for Linux] From:Yuri Xoops
注意:此文件適用於linux環境 1.先到本站的檔案下載區下載gallery和netpbm。
2.以我的方法我會把gallery和netpbm解開放在/var/www/html底下
3.在gallery底下執行 sh configure.sh .
4.用瀏覽器連結到 http://你的網址/gallery ,便會開到安裝的畫面
(如果不行的話可打 http://你的網址/gallery/setup)
5.接下來都是英文介面的東東,連結到的第一頁會提醒你有哪些問題需要注意,重點是開始設定後的內容。
6.裡面的設定有很都是要把連結寫對,只要對了,通常是沒什麼問題的。
7.最後,設定完後記得儲存。儲存完後再到gallery底下執行sh secure.sh ,接下再連到 http://你的網站/gallery
就會到相簿的首頁。 8.最後就是好好的享受囉!! ps.預設管理的帳號是admin 而密碼就是你在設定時的密碼!!
安裝好後修改設定值
將config.php, .htaccess 和 setup資料夾 權限改為777
修改好後再改回 config.php, .htaccess為644
Gallery FTP安裝教學 From:Yuri Xoops 1.先下載gallery和netpbm到你的電腦之中
2.將其解壓縮之後上傳到你的ftp空間(不管是public_html或是html都一樣,都放在這裡)
3. 權限設定
3-1. albums的資料夾(自行新增在你的主機中)–權限(CHOM)為777,記得資料夾的路徑,之後在設定時要用。
3-2. tmp的資料夾(在你的主機上)–權限為777,記得資料夾的路徑,之後在設定時要用。
3-3. gallery/setup/的權限設為777
gallery/config.php也要設成777
3-4. 把netpbm設為777並且裡面的檔案設為755
4. 設定:之後就可以連結到你的相簿進行設定了(http://你的網址/gallery/setup)
5. 有關設定注意事項 **netpbm的路徑要給對
(看是/home/你的帳號/html/netpbm 或是 /home/你的帳號/public_html/netpbm)
**album和tmp的路徑也別搞錯了 6. 然後儲存完之後,再把
setup的資料夾的權限設為0
config.php和.htaccess設為644
[Gallery安裝文件~for Linux] From:Yuri Xoops
注意:此文件適用於linux環境 1.先到本站的檔案下載區下載gallery和netpbm。
2.以我的方法我會把gallery和netpbm解開放在/var/www/html底下
3.在gallery底下執行 sh configure.sh .
4.用瀏覽器連結到 http://你的網址/gallery ,便會開到安裝的畫面
(如果不行的話可打 http://你的網址/gallery/setup)
5.接下來都是英文介面的東東,連結到的第一頁會提醒你有哪些問題需要注意,重點是開始設定後的內容。
6.裡面的設定有很都是要把連結寫對,只要對了,通常是沒什麼問題的。
7.最後,設定完後記得儲存。儲存完後再到gallery底下執行sh secure.sh ,接下再連到 http://你的網站/gallery
就會到相簿的首頁。 8.最後就是好好的享受囉!! ps.預設管理的帳號是admin 而密碼就是你在設定時的密碼!!
