在VB6中:
我需要允许用户选择Excel文件,然后将所有工作表上载到SQL表。我不知道该怎么做。每张纸的格式完全相同。工作表格式与SQL表格格式匹配。
我真的把头靠在墙上。如果有人可以提供建议或代码示例等,我真的很感激。
谢谢你们。
答案 0 :(得分:2)
您可以使用ODBC Provider for Excel文件。下面是一些用javascript编写的代码,用于将Excel文件导入SQL Server表。每个工作表都被视为一个表。数据类型存在一些问题,因为ODBC驱动程序通过读取它的第一个值来推断每个列的数据类型,因此如果列的第一行数据中有数字,则整列将被读取为数字,并且每个“非数字” value将被读为NULL。
var objCat = new ActiveXObject("ADODB.Connection");
var objRSExcel = Server.CreateObject("ADODB.Recordset");
objRSExcel.CursorLocation = 3;
var file = "imported_file.xls";
var TableName = "[Sheet1$]"
// Database Creation
objCat.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + file + ";Extended Properties=Excel 8.0;";
objCat.Open();
objRSExcel.Open("SELECT * FROM " + TableName, objCat);
var rsInsert = Server.CreateObject("ADODB.Recordset");
rsInsert.Open("SELECT * FROM [TARGET_TABLE]", cn, 1, 3);
while (!objRSExcel.EOF) {
rsInsert.AddNew();
for (var j=0;j<objRSExcel.Fields.Count; j++) {
rsInsert.Fields(j).Value = objRSExcel.Fields(j).Value;
}
rsInsert.Update();
objRSExcel.MoveNext();
}
objRSExcel.Close();
rsInsert.Close();