marxamk
一般會員
發表:13 回覆:8 積分:4 註冊:2004-01-16
發送簡訊給我
|
您好:
我參考taishyang 版主所post的"C++ Builder 與 EXCEL 連結取值與存值"一文.
http://delphi.ktop.com.tw/topic.php?topic_id=29910 實際在WinXP OfficeXP下操作
程式碼如下.. include
#pragma hdrstop #include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "Excel_2K_SRVR"
#pragma link "Excel_2K_SRVR"
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender)
{
WideString aa; //定義aa
if (OpenDialog1->Execute()) //直接打開檔案選擇視窗
{
aa=OpenDialog1->FileName; //指定檔名
ExcelApplication1->Connect(); //EXCEL APPLICATION 連接
ExcelApplication1->Workbooks->Open(aa);
ExcelWorkbook1->ConnectTo(ExcelApplication1->get_ActiveWorkbook());
ExcelApplication1->set_Visible(0,true); //指定EXCEL視窗為可視
ExcelWorksheet1->ConnectTo(ExcelWorkbook1->get_ActiveSheet());
//連接工作表
}
} //--------------------------------------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender)
{
AnsiString aa="test";
Variant v5(1);
Variant v6(1);
Variant v7(2);
Variant v8(100);
Variant vString(String("This is an ANSI string, buddy!"));
ExcelWorksheet1->Cells->set__Default(v5,v6,vString);//將列1欄1的值寫入This is an ANSI string, buddy!
ExcelWorksheet1->Cells->set__Default(v5,v7,v7);//將列1欄2的值寫入100 最後這兩行,一行是把字串寫入列1欄1中,一行是寫一個整數100到列1欄2中..
可是不知怎麼的,寫整數進去Excel完全正常,但是寫字串就不給寫了...
也就是說我按下去,該寫字串的欄位聞風不動,但是寫整數100就老老實實寫進去..
請問是Excel需要特別的設定嗎?還是小弟遺漏的什麼細節?
感謝您.
|
RaynorPao
版主
發表:139 回覆:3622 積分:7025 註冊:2002-08-12
發送簡訊給我
|
引言:
您好:
我參考taishyang 版主所post的"C++ Builder 與 EXCEL 連結取值與存值"一文.
http://delphi.ktop.com.tw/topic.php?topic_id=29910 實際在WinXP OfficeXP下操作
程式碼如下.. include
#pragma hdrstop #include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "Excel_2K_SRVR"
#pragma link "Excel_2K_SRVR"
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender)
{
WideString aa; //定義aa
if (OpenDialog1->Execute()) //直接打開檔案選擇視窗
{
aa=OpenDialog1->FileName; //指定檔名
ExcelApplication1->Connect(); //EXCEL APPLICATION 連接
ExcelApplication1->Workbooks->Open(aa);
ExcelWorkbook1->ConnectTo(ExcelApplication1->get_ActiveWorkbook());
ExcelApplication1->set_Visible(0,true); //指定EXCEL視窗為可視
ExcelWorksheet1->ConnectTo(ExcelWorkbook1->get_ActiveSheet());
//連接工作表
}
} //--------------------------------------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender)
{
AnsiString aa="test";
Variant v5(1);
Variant v6(1);
Variant v7(2);
Variant v8(100);
Variant vString(String("This is an ANSI string, buddy!"));
ExcelWorksheet1->Cells->set__Default(v5,v6,vString);//將列1欄1的值寫入This is an ANSI string, buddy!
ExcelWorksheet1->Cells->set__Default(v5,v7,v7);//將列1欄2的值寫入100 最後這兩行,一行是把字串寫入列1欄1中,一行是寫一個整數100到列1欄2中..
可是不知怎麼的,寫整數進去Excel完全正常,但是寫字串就不給寫了...
也就是說我按下去,該寫字串的欄位聞風不動,但是寫整數100就老老實實寫進去..
請問是Excel需要特別的設定嗎?還是小弟遺漏的什麼細節?
感謝您.
marxamk 你好:
(1)請參考以下的連結文章
>
> < src="http://delphi.ktop.com.tw/loadfile.php?TOPICID=10003806&CC=223734"> -- Enjoy Researching & Developing --
------ -- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
|
terencechiu
一般會員
發表:13 回覆:29 積分:8 註冊:2004-12-15
發送簡訊給我
|
感謝大大,我剛好也遇到這樣的問題,您再轉貼的文章,解決了這個問題,謝謝你。 Terence Chiu
------ Terence Chiu
|
starhua628
一般會員
發表:16 回覆:9 積分:5 註冊:2005-03-19
發送簡訊給我
|
請為各位前輩,在程式前面宣告的#pragma link "Excel_2K_SRVR"
和#pragma link "Excel_2K_SRVR",是不是要依各電腦的環境不同而做改變的,如此要做一個各電腦通用的執行檔,是不是應該link各office的版本呢? 另外一個小小的問題,請問這個程式需要加入什麼的VCL元件進來嗎? 真的先謝謝各位的回答了^^
|