Tag: asp.net

写入Excel文件包含公式是非常缓慢的

我们有一个自动的过程,打开一个模板excel文件,写入数据行,并将文件返回给用户。 这个过程通常很快,但是最近我被要求用一些Excel公式添加一个摘要页面到其中一个模板,现在这个过程需要一个永久的过程。 几分钟后它成功地运行了大约5条logging,但是本周的logging集将近400行,而且我已经让它运行的最长时间是在取消它之前的大约半个小时。 如果没有这些公式,只需要几秒钟就可以运行。 将行写入包含公式的Excel文件中是否存在任何已知问题? 或者有没有办法告诉Excel不要评估公式,直到文件被用户打开? 汇总表上的公式是这样的: ' Returns count of cells in column where data = Y =COUNTIF(Sheet1!J15:Sheet1!J10000, "Y") =COUNTIF(Sheet1!F15:Sheet1!F10000, "Y") ' Return sum of column where data is a number greater than 0 ' Column contains formula calculating the difference in months between two dates =SUMIF(Sheet1!I15:Sheet1!I10000,">0",Sheet1!I15:Sheet1!I10000) ' Returns a count of distinct values […]

如何在excel中使用Microsoft.Office.Interop.Excel在c#中的矩形内写入文本

这里是示例代码 using Excel = Microsoft.Office.Interop.Excel; Excel.Application xlApp; Excel.Workbook xlWorkBook; Excel.Worksheet xlWorkSheet; //Rectangle shape xlWorkSheet.Shapes.AddShape(MsoAutoShapeType.msoShapeRectangle, 47, 280, 140, 90); //using this below code i can write the text but the text is showing with special effects. xlWorkSheet.Shapes.AddTextEffect(MsoPresetTextEffect.msoTextEffect1, "simple text", "Arial", 14, MsoTriState.msoTrue, MsoTriState.msoFalse, 67, 320); 我需要明文大胆的效果和大小(16)…我使用Visual Studio 2008

asp excel错误80040154

我有一个与我的asp项目(C#)的问题。 我遇到以下错误:使用CLSID {00024500-0000-0000-C000-000000000046}检索组件的COM类工厂失败,原因如下:80040154当我尝试从服务器生成excel文件时抛出。 我已经看到一些关于它的post,我不知道他们是否适用于我,也不能解决我的问题。 让我告诉你我的代码并解释。 using Excel = Microsoft.Office.Interop.Excel; using System.Reflection; private Excel.Application oXL; private Excel._Workbook oWB; private ExcelFile f; protected void bExcel_Click(object sender, EventArgs e) { if (Session["mode"] == null) Response.Redirect(accueil); // Set the values oXL = new Excel.Application(); oWB = (Excel._Workbook)(oXL.Workbooks.Add(Missing.Value)); f = new ExcelFile((Excel._Worksheet)oWB.ActiveSheet); oXL.Visible = true; /* displaying data from a […]

从OleDbConnection读取Excel文件数据

我目前面临一个问题,我不知道如何解决这个问题。 我将我的预编译项目上传到IIS。 这是我的这个页面的目的: 用户将一个excelfile upload到服务器的一个文件夹中。 ex @"~/PlanQuantityFile/" 。 它确实上传成功。 面临的问题: 当我的脚本试图打开Excel文件(用于提取数据目的)而不显示任何错误时停止。 在881行,如图所示。 这里是我寻找的一些领域,但仍然无法解决我的问题。 解决方法: 连接打开,但从来没有closures,所以用尽连接。 (但是我closures了它,脚本在close语句之前停止运行) 32位程序调用64位办公室。 (我在硬件领域的知识有限,不知道该怎么做才能在这里排除故障) 许可问题。 需要设置ASP.NET帐户的权限。 (我仍然在为ASP.NET帐户find对象名称) 感谢任何想要帮助的人。 你的build议是非常宝贵的。 OleDbConnection oledbConn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + SaveLocation + ";Extended Properties='Excel 12.0;HDR=YES;IMEX=1;';"); OleDbConnection connExcel = oledbConn; OleDbCommand cmdExcel = new OleDbCommand(); OleDbDataAdapter oda = new OleDbDataAdapter(); DataTable dt = new DataTable(); cmdExcel.Connection […]

下载OpenXML生成

我目前在控制台应用程序中创build一个Excel工作表来进行testing。 我需要在ASP.Net .aspx页面中实现我的代码。 我怎样才能将这张Excel表格提供给用户下载,而不用以任何forms保存在本地? 这是我的代码: static void Main(string[] args) { SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.Create(DateTime.Now.ToString("ddMMyyyyHHmmss") + @".xlsx", SpreadsheetDocumentType.Workbook); WorkbookPart workbookpart = spreadsheetDocument.AddWorkbookPart(); workbookpart.Workbook = new Workbook(); // Add a WorksheetPart to the WorkbookPart. WorksheetPart worksheetPart = workbookpart.AddNewPart<WorksheetPart>(); worksheetPart.Worksheet = new Worksheet(new SheetData()); // Add Sheets to the Workbook. Sheets sheets = spreadsheetDocument.WorkbookPart.Workbook.AppendChild<Sheets>(new Sheets()); // Append a […]

为什么我的Excel导出在顶部有一个空行?

在ASP.NET中,我通过将DataSet绑定到GridView然后将ContentType设置为Excel来将一些数据导出到Excel。 我的ASPX页面非常简单,如下所示: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ExamExportReport.aspx.cs" Inherits="Cabi.CamCentral.Web.Pages.Utility.ExamExportReport" %> <html> <body> <form id="form1" runat="server"> <asp:GridView ID="gridExam" AutoGenerateColumns="true" runat="server"> </asp:GridView> </form> </body> </html> 在后面的代码的Page_Load方法中,我正在这样做: protected void Page_Load(object sender, EventArgs e) { BindGrid(); Response.ContentType = "application/vnd.ms-excel"; Response.AddHeader("content-disposition", "attachment; filename=ExamExport.xls"); } 一般来说,一切正常,Excel文件popup正确的数据。 问题在于,Excel文件总是以列头之上的空白第一行结束。 我只是无法弄清楚是什么原因造成的。 也许这是关于窗体标签的东西? 也许我需要添加一些样式或东西去除填充或边距? 我尝试了一堆东西,但我不能摆脱那第一个空白行。 有没有其他人遇到这个? 任何解决scheme

使用ASP.NET自动化Excel

背景 我们正在使用ASP.NET 2.0开发一些内部实用程序。 其中之一是从数据库中提取一些信息,并build立一个Excel工作簿,其中包含许多基于查询数据的电子数据表。 问题 概念validation原型(从数据库查询单个项目并打开Excel以将数据添加到工作表的简单ASP.NET页面)在开发机器上本地运行时运行良好,可以愉快地创build和显示Excel电子表格按照要求。 但是,在我们的服务器上运行时,尝试实例化Excel时出现以下错误。 无法将“Microsoft.Office.Interop.Excel.ApplicationClass”types的COM对象转换为接口types“Microsoft.Office.Interop.Excel._Application”。 此操作失败,因为具有IID“{000208D5-0000-0000-C000-000000000046}”的接口的COM组件上的QueryInterface调用由于以下错误而失败:没有此类接口支持(exception来自HRESULT:0x80004002(E_NOINTERFACE)) 。 解? 我们使用PIA for Excel 2003,并且在服务器上安装了Excel 2003和PIA。 任何人都可以解释为什么这不起作用,或给我们一些提示,我们可以跟踪这个问题? 感谢您提供的任何帮助。

如何直接从.net应用程序创buildExcel表格数据?

我想使用C#语言从asp.net应用程序创buildExcel表单。 请回复我如何创build它,如果有源代码。 我不知道如何创build它。 另外我想在列的下拉列表中。 我们如何做到这一点。 请回复我的紧急…. 问候,Girish

更新excel文件中的小计

我使用OpenXML库获取数据表并将其粘贴到预格式化的excel文件中。 这工作正常。 我遇到的问题是在预格式化的excel文件的顶部有一个小计行,它被设置为小计这个数据的每一列(所以每列的顶部都有一个小计)。 当我创build后打开excel文件时,这些值全部设置为0,插入数据表时它们没有更新。 如果突出显示这些小计单元格中的一个,然后按下回车键,则会更新并显示正确的值。 一旦用户打开下载的电子表格,什么是最简单的方法来获取这些值来更新并显示正确的值? 创build电子表格的代码: MemoryStream memoryStream = SpreadsheetReader.StreamFromFile(TemplateDirectory + @"\" + "exceltTemplate.xlsx"); doc = SpreadsheetDocument.Open(memoryStream, true); worksheetPart = SpreadsheetReader.GetWorksheetPartByName(doc, currentSheetName); writer = new WorksheetWriter(doc, worksheetPart); cellName = "A8"; writer.PasteDataTable(reports.Tables[0], cellName); SpreadsheetWriter.Save(doc);

npoi从数据表导出

我有一个asp.net网站,将生成7-8张数据的一些excel文件。 到目前为止,最好的解决scheme似乎是NPOI ,这可以创buildexcel文件,而不需要在服务器上安装excel,并且在excel interop上有一个很好的API。 但是我找不到一种方法来转储类似于CopyFromRecordset Excel中的整个数据表 任何提示如何做到这一点,或比NPOI更好的解决scheme?