我想在经典 asp 中从 MS EXCEL 导入/导出数据。我已经完成了那部分。但我的问题是当我们从 MS EXCEL 导入和导出数据时,我们需要在服务器上安装 MS-OFFICE。但是我的客户不想在服务器上安装 MS-OFFICE。那么有没有在服务器上安装 MS-OFFICE 的情况下从 Excel 导入/导出。
提前致谢
感谢和问候果冻
我想在经典 asp 中从 MS EXCEL 导入/导出数据。我已经完成了那部分。但我的问题是当我们从 MS EXCEL 导入和导出数据时,我们需要在服务器上安装 MS-OFFICE。但是我的客户不想在服务器上安装 MS-OFFICE。那么有没有在服务器上安装 MS-OFFICE 的情况下从 Excel 导入/导出。
提前致谢
感谢和问候果冻
在过去,我已经多次这样做了;-) 不幸的是,无法这么快找到代码。我发现这个例子要导入:
<%
Set ExcelConn = Server.CreateObject("ADODB.Connection")
Set ExcelRS = Server.CreateObject("ADODB.Recordset")
ExcelConn.Provider = "Microsoft.Jet.OLEDB.4.0"
ExcelConn.Properties("Extended Properties").Value = "Excel 8.0"
ExcelConn.Open "C:\Sample\Sample.xls"
'get data from sheet
sSQL = "SELECT * FROM Sample$"
set ExcelRS = ExcelConn.Execute(sSQL)
'loop through each record in Excel and write it to access
'might be slow, but will work
Do until ExcelRS.EOF
myConn.Execute("INSERT INTO Sample_tbl(lname,fname,mi) VALUES ('" & ExcelRS("0") & "', '" & ExcelRS("1") & "','" & ExcelRS("2") & "')")
ExcelRS.MoveNext
Loop
ExcelRS.Close
set ExcelRS = NOTHING
objExcelConn.Close
set ExcelConn = NOTHING
objConnAccess.close
set objConnAccess = NOTHING
%>
还有这个用于导出的小片段,几乎可以归结为添加正确的内容类型标题:
<%@ Language=VBScript %>
<% Option Explicit
Response.ContentType = "application/vnd.ms-excel"
Response.AddHeader "Content-Disposition", "attachment; filename=sample.xls"
%>
<table>
<tr>
<td>Sample</td>
</tr>
</table>
我自己没有做过,但我不明白为什么不这样做。
您可以使用 MS Jet 数据库引擎,它可能已经在您的服务器上 https://stackoverflow.com/a/16051/882436
或者,您可以使用此组件: http ://exceldatareader.codeplex.com/
并通过 COM 互操作使其工作(因此您可以在经典 ASP 中使用它),如下所示:http: //msdn.microsoft.com/en-us/library/zsfww439 (v=vs.71).aspx
高温高压