///
/// 从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中文网其他相关文章!