我現在的情況是這樣的﹕
我要從客戶給的Excel文檔中取有用的數據導入數據庫中﹐如下面是一個Execl文檔的格式
AccountTao(表名)
YearMonth Year Month MaxDay(各個欄位名)
2002年07月 2002 07 31
2002年08月 2002 08 31
2001年01月 2001 01 31
2002年09月 2002 09 30
2002年10月 2002 10 31
2002年11月 2002 11 30
2002年12月 2002 12 31
2003年01月 2003 01 31
2003年02月 2003 02 28
2003年03月 2003 03 31
2002年03月 2002 03 31
2003年04月 2003 04 30
我可能只要取Execl文檔中取某一字段或某几個字段
比如﹕我要取上面Execl中的YearMonth﹑MaxDay兩個字段﹐要怎樣來寫程序呢﹖
各位能否給我寫個函數出來﹐謝謝﹗
我要從客戶給的Excel文檔中取有用的數據導入數據庫中﹐如下面是一個Execl文檔的格式
AccountTao(表名)
YearMonth Year Month MaxDay(各個欄位名)
2002年07月 2002 07 31
2002年08月 2002 08 31
2001年01月 2001 01 31
2002年09月 2002 09 30
2002年10月 2002 10 31
2002年11月 2002 11 30
2002年12月 2002 12 31
2003年01月 2003 01 31
2003年02月 2003 02 28
2003年03月 2003 03 31
2002年03月 2002 03 31
2003年04月 2003 04 30
我可能只要取Execl文檔中取某一字段或某几個字段
比如﹕我要取上面Execl中的YearMonth﹑MaxDay兩個字段﹐要怎樣來寫程序呢﹖
各位能否給我寫個函數出來﹐謝謝﹗
解决方案 »
- 请问大家,关于access字段里有日文 用sql like语句就报内存溢出的问题
- 怎么禁止其它程序获取我程序上的控件信息?
- DLL中用了STRING类型,退出程序时就会报Invalid Pointer Operator!
- 如何将数组作为参数?
- clientdataset多列排序问题?
- 请各位帮帮忙,急急。。。!!!!
- 我们大专生应该做程序员吗?我们的工作真的这么难找吗?
- 第二边啊
- 在打印报表时如何实现将QRlabel.left与数据库的某字段关联起来?
- 程序中如何调用新IE窗口打开指定网页,我用ShellExecute老是在我已经打开的IE窗口中浏览制定的网页
- MDI Form的问题
- 值的传递问题?谢谢!
你的意思是把Excel當一個Table來處理嗎﹖但是在Excel中我有和字段是不需要的﹐那要怎樣來處理呢﹖
不是你想象的那樣的﹐如果能用SQl Server來Import我為什么還要寫程序呢﹖
我現在自已解決了這個問題﹐我要結貼了。
Procedure TForm1.ExcelToDatabase(Qy:Tdataset);
var
ExcelApp,MyWorkBook :OLEVariant;
Open :TOpenDialog;
i,row : integer;
begin
Open:= TOpenDialog.Create(application);
if Open.Execute then
begin
Try
ExcelApp:=CreateOleObject('Excel.Application');
MyWorkBook:=CreateOleObject('Excel.Sheet');
Except
application.Messagebox('無法打開Xls文件﹐請確定已經安裝了EXCEL.','',mb_OK+mb_IconStop);
Exit;
end;
Try
MyworkBook:= ExcelApp.workBooks.Open(Open.FileName);
//打開文件后﹐對文件進行操作
Row := 1;
if ExcelApp.Range['a'+inttostr(row),'a'+inttostr(row)].Value='' then
begin
application.Messagebox('Excel文件中沒有數據或格式和樣版不一樣!.','',mb_OK+mb_IconStop);
Exit;
end;
Row :=2;
if qy.active = False then Qy.open;
//*************************************************************
在下面這句﹐當Excel文檔到結尾時﹐既當MyWorkBook.WorkSheets[1].Cells[Row,Row].Value為空時會出現一個錯誤。
錯誤信息是﹕
Project project1.exe raised exception class.EvariantError with message'Invalid Variant type conversion'process stopped,Use step or Run to continue.
//*********************************************************************
while MyWorkBook.WorkSheets[1].Cells[Row,Row].Value<>'' do
begin
for i:=0 to Qy.Fields.Count-1 do
begin
qy.Fields[i].Value:=MyWorkBook.WorkSheets[1].Cells[Row,i].Value;
end;
Inc(Row);
end; finally
ExcelApp.WorkBooks.close;
ExcelApp.Quit;
ExcelApp:=Unassigned;
end; //try..finally
end;
end;請各位大俠幫幫忙﹐看能不能幫我解決﹐好急的。先謝了﹗
能否說清楚點呢﹖或者給一個例子﹐謝謝﹗