2012-06-25 3 views
-2

Мне нужно загрузить файл excel на сервер. но дело в том, что мне нужно проверить, есть ли у этого библиотека объектов MS Excel 12.0 или нет? может кто-нибудь предложить средний метод для этого .. ??Загрузка файла Excel

+2

Вы хотите проверить, имеет ли этот файл СЕРВЕР? Последнее, что я проверил, Excel не лицензируется для использования на сервере (и на самом деле не будет работать под любым значительным объемом). –

+2

Почему ваш вопрос помечен как 'C#' и 'asp-classic' в то же время? Любое отношение? И, очевидно, вечный вопрос стоит: [Что вы пробовали] (http://mattgemmell.com/2008/12/08/what-have-you-tried/)? –

+1

Если вы пытаетесь сделать то, что, как я думаю, вы пытаетесь сделать - мой совет прост - вы НЕ ДОЛЖНЫ идти по этому маршруту. См. Эту ссылку. Рекомендации для серверной автоматизации Office: http://support.microsoft.com/kb/257757 –

ответ

0

Вот какой-то классический код ASP после того, как файл Excel был загружен на сервер (copied from here).

<% Option Explicit %> 
<html> 
<body> 
<% 
Dim objConn, objRS, strSQL 
Dim x, curValue 

Set objConn = Server.CreateObject("ADODB.Connection") 
objConn.Open "DRIVER={Microsoft Excel Driver (*.xls)}; IMEX=1; HDR=NO; "&_ 
    "Excel 8.0; DBQ=" & Server.MapPath("excelfile.xls") & "; " 

'if using xslx (Excel 2007) use this instead: 
'objConn.Open "Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};"&_ 
' "DBQ=" & Server.MapPath("excelfile.xlsx") & ";" 

strSQL = "SELECT * FROM A1:Q10000" 
Set objRS=objConn.Execute(strSQL) 
Response.Write("<table border=""1"">") 
Response.Write("<tr>") 
For x=0 To objRS.Fields.Count-1 
    Response.Write("<th>" & objRS.Fields(x).Name & "</th>") 
Next 
Response.Write("</tr>") 
Do Until objRS.EOF 
    Response.Write("<tr>") 
    For x=0 To objRS.Fields.Count-1 
     curValue = objRS.Fields(x).Value 
     If IsNull(curValue) Then 
      curValue="N/A" 
     End If 
     curValue = CStr(curValue) 
     Response.Write("<td>" & curValue & "</td>") 
    Next 
    Response.Write("</tr>") 
    objRS.MoveNext 
Loop 
objRS.Close 
Response.Write("</table>") 
objConn.Close 
Set objRS=Nothing 
Set objConn=Nothing 
%> 
</body> 
</html> 
Смежные вопросы