///
/// 從Excel讀取資料
///
/// 路徑
#///
#public DataSet ImportFromExcel(string filePath)
{
DataSet ds = new DataSet();
string connString = "Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = " filePath ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1\"";
#DataTable table = OleDbHelper.GetExcelTables(connString);
if(table == null || table.Rows.Count
{
return null;
}
foreach(DataRow dr in table.Rows)
{
string cmdText = "select * from [" dr["TABLE_NAME"].ToString() "]";
DataTable dt = OleDbHelper.FillDataTable(connString, cmdText);
dt.TableName = dr["TABLE_NAME"].ToString();
ds.Tables.Add(dt);
}
return ds;
}
接下來只要把DataSet寫入資料庫
excel表格導入vfp沒有更好的辦法,但可以透過讀取excel來實現。
以下是vfp直接讀取EXCEL檔案的範例:
M_File=GETFILE('xls','訂單檔案')
IF M_File=""
#=MESSAGEBOX("請選擇待匯入的收訂單檔案!",0 48,"提示")
RETURN
ELSE
IF JUSTEXT(M_FILE)#"XLS" &取得檔案副檔名
=MESSAGEBOX("您選擇的不是EXCEL文檔!",0 48,"提示")
RETURN
ENDIF
ENDIF
USE 圖書訂單表
ZAP
myexcel=createobject('excel.application') &建立一個物件
myexcel.visible=.f.&不可見
bookexcel=myexcel.workbooks.open(M_File) &開啟指定檔案
o_SheetName=myexcel.application.ActiveSheet.Name &取得目前啟動工作表的名稱
UsedRange =bookexcel.worksheets(o_SheetName).UsedRange &傳回工作表中可使用的區域,UsedRange表的屬性
o_rows=UsedRange.rows.count &匯總行
o_cols=UsedRange.columns.count &匯總列
IF o_rows
=MESSAGEBOX("待導入資料行數太少,請檢查!",0 16,"提示")
ELSE
FOR i=2 TO o_rows
m1=myexcel.cells(i,1).value &書號
m2=myexcel.cells(i,2).value &書名
m3=myexcel.cells(i,3).value &出版社
m4=myexcel.cells(i,4).value &作者
m5=myexcel.cells(i,5).value &定價
#m6=myexcel.cells(i,6).value &數量
APPEND BLANK
REPLACE 書號 WITH m1,書名 WITH m2,出版社 WITH m3,作者 WITH m4,定價 WITH m5,數量 WITH m6
ENDFOR
ENDIF
myexcel.workbooks.close &關閉工作區
myexcel.quit &關閉excel
brow
以上是使用C程式語言將Excel匯入SQL資料庫的實作方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!