線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2077
推到 Plurk!
推到 Facebook!

如何用 Delphi 開啟 Office 2007

尚未結案
alvin26
初階會員


發表:24
回覆:41
積分:28
註冊:2005-04-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2011-11-03 00:22:58 IP:180.218.xxx.xxx 訂閱
請問各位大大,

我的電腦有裝 Office 2003,
有裝微軟的轉換工具,
所以手動用Excel 2003開Excel 2007的檔案時會自動轉換,
但若用 Delphi 開Excel 2007的檔案時會變亂碼,
不知該怎麼開呢?

感謝
------
弟子規,聖人訓,首孝悌,次謹信,泛愛眾,而親仁,有餘力,則學文。
編輯記錄
alvin26 重新編輯於 2011-11-02 10:24:19, 註解 無‧
smallfox
高階會員


發表:2
回覆:113
積分:128
註冊:2003-02-19

發送簡訊給我
#2 引用回覆 回覆 發表時間:2011-11-26 00:53:52 IP:203.67.xxx.xxx 訂閱
方便 show 出你用 Delphi 開Excel 2007檔案的程式碼嗎?
ko
資深會員


發表:28
回覆:785
積分:444
註冊:2002-08-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2011-11-29 10:15:47 IP:61.66.xxx.xxx 訂閱
procedure TForm1.ToExcel;
var
Excel,workbook,worksheet : Variant;
x,y : integer;
begin
if SaveDialog1.Execute then
begin
Excel := CreateOleOBject('Excel.Application');
workbook := Excel.WorkBooks.Add;
worksheet := Excel.WorkSheets['sheet1'];
Excel.Application.Visible := True;
for x:=0 to ListView1.Items.Count -1 do
for y:=0 to ListView1.Columns.Count -2 do
begin
worksheet.Cells[x 1,y 1]:=ListView1.Items.Item[x].SubItems[y];
end;
try
worksheet.SaveAs(SaveDialog1.FileName);
except
end;
Excel.WorkBooks.Close;
Excel.Quit;
end;
end;
//以前有一篇控制的請自己找找看
------
======================
昏睡~
不昏睡~
不由昏睡~
alvin26
初階會員


發表:24
回覆:41
積分:28
註冊:2005-04-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2011-12-25 00:20:53 IP:180.218.xxx.xxx 訂閱
 我用的方法和 ko 前輩的方法一樣,都是用 CreateOleObject 啟動和開啟檔案,
抱歉,因為這段時間有事情耽擱了,所以沒有繼續再看,
但今天再試一次,發現 FileFormatConverters.exe 會自動把 xlsx 檔案轉成程式可以讀取的格式,
但因某些 Fomula 在2003不支援,會出現錯誤的通知訊息,
不過還是可以繼續讀取檔案。
應該是我上次太大意了,
沒有仔細看錯誤訊息,
直接就以為無法讀取,真不好意思。
感謝 前輩熱心回應。
------
弟子規,聖人訓,首孝悌,次謹信,泛愛眾,而親仁,有餘力,則學文。
系統時間:2017-10-20 22:09:55
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!