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

請問要如何將LsitView的資料匯出來呢?

答題得分者是:nlj859
Titan_Lin
一般會員


發表:10
回覆:6
積分:3
註冊:2004-08-18

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-08-29 11:11:14 IP:211.20.xxx.xxx 未訂閱
我程式中的ListView樣式為vsReport 專門用於動態顯示各種資料的: Name | Length | Content  | SectorNum.    ←(此為Column) name1| length1| content1| num1 name2| length2| content2| num2 . . . nameN| lengthN| contentN| numN 共N組資料 請問我要如何講這些資料匯出成.txt格式 然後轉存到硬碟中? 麻煩各位了 謝謝
nlj859
資深會員


發表:139
回覆:375
積分:322
註冊:2004-03-20

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-08-29 12:25:20 IP:219.80.xxx.xxx 未訂閱
Hello Titan_Lin,    請使用底下程式碼看看:
   TStringList *s=new TStringList;
   for(int i=0;iItems->Count-1;i  )
   {
       str="";
       str=ListView1->Items->Item[i]->Caption " ";
       for (int j=0;jColumns->Count-1;j  )
           {
            str =ListView1->Items->Item[i]->SubItems->Strings[j] " ";
           }
       s->Add(str "\n");
    }
  s->SaveToFile("c:\\test.txt");
  delete s;
如果每個欄位限定20個字元,可使用底下的方式:
AnsiString str;
int len;
TStringList *s=new TStringList;
   for(int i=0;iItems->Count-1;i  )
   {
       str="";
       len=ListView1->Items->Item[i]->Caption.Length();
       str=ListView1->Items->Item[i]->Caption AnsiString::StringOfChar(' ',20-len) " ";
       for (int j=0;jColumns->Count-1;j  )
           {
            AnsiString strTemp="";
            len=ListView1->Items->Item[i]->SubItems->Strings[j].Length();
            strTemp=ListView1->Items->Item[i]->SubItems->Strings[j] AnsiString::StringOfChar(' ',20-len) " ";
            str =strTemp;
           }
       s->Add(str "\n");
    }
  s->SaveToFile("c:\\test.txt");
  delete s;
發表人 - nlj859 於 2004/08/29 16:51:52
Titan_Lin
一般會員


發表:10
回覆:6
積分:3
註冊:2004-08-18

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-08-29 16:27:12 IP:210.202.xxx.xxx 未訂閱
謝謝你 不過有什麼方法可以讓txt顯示出來的時候排列整齊一點? 因為我顯示出來的時候是這樣: Name BP Length Type Content SectorNum Structure_Type 0 1 Uint8 0 18 Standard_Identifier 1 5 bytes BEA01 18 Structure_Version 6 1 Uint8 1 18 Structure_Data 7 2041 bytes #00.... 18 超亂的
willis
一般會員


發表:9
回覆:11
積分:4
註冊:2002-09-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-09-03 16:27:03 IP:61.218.xxx.xxx 未訂閱
有兩種方式 第一種:每一筆資料每個欄位加入","存成TXT後用EXCEL 開啟。 第二種:直接存EXXEL 
                TStringList *s=new TStringList;
                str=str "Name" char(9);
                str=str "Length" char(9);
                str=str "Content" char(9);
                str=str "SectorNum" char(9);
                s->Add(str)
                
                for(int i=0;iItems->Count;i  )
               {
                 str="";
                 str=str ListView1->Items->Item[i]->Caption char(9);
                 for (int j=0;jColumns->Count;j  )
                 {
                    str=str ListView1->Items->Item[i]->SubItems->Strings[j] char(9);
                     
                 }                     s->Add(str);
                 
               }
               s->SaveToFile("c:\\test.xls");
               delete s;    
試試看吧,轉到EXXEL後,還方便爾後的繪圖。 發表人 - willis 於 2004/09/03 16:30:42
系統時間:2024-05-06 18:01:22
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!