创建Excel电子表格(create excel spreadsheet)

2019-06-25 09:14发布

有什么办法来创建使用VBScript的Excel电子表格? 我可以使用FileSystemObject的创建一个文本文件,并使用我想要的任何扩展,但是当我尝试和下载这个,这让我在Excel选项,然后显示一条信息,它是在一个不同的格式打开,而这正是我要避免:

set fs=Server.CreateObject("Scripting.FileSystemObject")
set tfile=fs.CreateTextFile(Server.MapPath("xls/streamtest.xls"),true,false)

我知道这是推文成ASCII格式的文件。

是否有“东西”字符序列,特定的格式,我可以使用来解决这一切?

谢谢

Answer 1:

最好和最快的方式,没有服务器,这实在是不建议使用Excel.application,是生成一个Excel XML文件。 你将不能够做的唯一功能是插入图片。

与使用HTML表格,你就可以支持在Excel中(如日期)的本地数据,你就可以格式化,插入式,...

保存Excel为Excel XML和看到生成的XML文件。 这是有点棘手,但工作得很好。



Answer 2:

我同意上述意见。 我一直这样做,使用Response.ContentType和Response.AppendHeader

Response.ContentType = "application/vnd.ms-excel"
Response.AppendHeader "content-disposition", "filename=MySpreadsheet.xls"


Answer 3:

如果已安装并在服务器上访问Excel和sFSpec是完整的(服务器映射,可访问)的(空)文件规范的.xls要创建的,那么

 Dim oExcel : Set oExcel = [Server.]CreateObject( "Excel.Application" )
 oExcel.Workbooks.Add.SaveAs sFSpec
 oExcel.Quit

应该管用。 如果你不能使用“Excel.Application”,你可以使用ADO通过打开的Excel连接,并执行适当的CREATE TABLE语句。

添加

低科技的方法是使用一些工作站作为模板被盗空的.xls; 但你可以动态创建一个.xls:

  Dim sFSpec : sFSpec = resolvePath("..\data\byado.xls")
  If goFS.FileExists(sFSpec) Then goFS.DeleteFile sFSpec
  Dim oXDb : Set oXDb = CreateObject("ADODB.Connection")
  Dim sCS  : sCS      = Join(Array(_
        "Provider=Microsoft.Jet.OLEDB.4.0" _
      , "Data Source=" & sFSpec            _
      , "Extended Properties="""           _
          & Join(Array(     _
                "Excel 8.0" _
              , "HDR=Yes"   _
              , "IMEX=0"    _
            ), ";" )        _
          & """"            _
  ), ";")
  oXDb.Open sCS
  oXDb.Execute "CREATE TABLE [WhatEver] (DontCare INTEGER)"
  oXDb.Close
  If goFS.FileExists(sFSpec) Then WScript.Echo "qed"

(您可能必须与修补“Excel版本!”;在“IMEX = 0”是很重要的)



Answer 4:

我回答这个上一个又一个的问题。 为Excel电子表格格式正确 ,您应该能够在安装办公(至少Excel)中的服务器上使用CreateObject(“Excel.Application”)。

LS(和其他类型的Excel 2007/2010是二进制fiels,你不能轻松地创建这样的,你需要使用COM对象创建和操纵他们在这里从脚本专家的例子。 HTTP://blogs.technet。 COM / b / heyscriptingguy /存档/ 2005/03/31 /如何-可以-I-化妆改变到和当时的重新保存-的存在,Excel的spreadsheet.aspx

Set objExcel = CreateObject("Excel.Application") 
objExcel.Visible = True 
objExcel.DisplayAlerts = FALSE 

Set objWorkbook = objExcel.Workbooks.Add 
Set objWorksheet = objWorkbook.Worksheets(1) 

objWorksheet.Cells(1, 1).Value = Now 
objWorkbook.SaveAs("C:\Scripts\Test.xls") 
objExcel.Quit 

看到http://msdn.microsoft.com/en-us/library/aa223697(v=office.11​​).aspx对于您可以使用VBA函数列表



文章来源: create excel spreadsheet