Tag: asp.net

Interop Excel不closures进程

我一直在这个问题上挣扎了好几天,我已经做了研究和应用了我在各种论坛上发现的所有build议,但是我仍然无法解决这个问题。 我的问题是与Excel使用互操作库,我有一个Excel文件用作模板,所以我打开它,并保存在一个新的名称与一个新的位置。 除了在创build并closures文件之后,Excel进程始终运行之外,所有工作都很好。 这是我的代码 protected string CreateExcel(string strProjectID, string strFileMapPath) { string strCurrentDir = HttpContext.Current.Server.MapPath("~/Reports/Templates/"); string strFile = "Not_Created"; Application oXL; Workbook oWB; oXL = new Application(); oXL.Visible = false; Workbooks wbks = oXL.Workbooks; //opening template file oWB = wbks.Open(strFileMapPath); oXL.Visible = false; oXL.UserControl = false; strFile = strProjectID + "_" + DateTime.Now.Ticks.ToString() + ".xlsx"; […]

导出GridView到Excel,而不会丢失Excel中的网格线

我有一个GridView,我想要导出到Excel。 当我使用我在网上find的示例代码时,它将内容导出到Excel中,但由于某种原因,它也清除了我的导出表之外的所有网格线。 对于普通的excel用户来说,这很容易解决,但是我需要这个解决scheme为每个人工作。 那么有没有办法将一个GridView中的数据导出到一个Excel工作簿中,以便它看起来像只是input到Excel中? 我已经粘贴了我在下面使用的代码,假设一个叫做toPrint的GridView存在并且有准确的数据。 Response.Clear(); Response.AddHeader("content-disposition", "attachment; filename=" + name + "_Registration_Forms.xls"); Response.Charset = ""; Response.ContentType = "application/vnd.ms-excel"; Page.EnableViewState = false; System.IO.StringWriter stringWrite = new System.IO.StringWriter(); System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite); toPrint.RenderControl(htmlWrite); Response.Write(stringWrite.ToString()); Response.End(); 编辑:find一个部分的解决scheme。 如果以逗号分隔的列表forms导出,并将标题设置为CSV文件,则可以正常打开,并显示所有网格线(即使是导出的数据以外的网格线)。 唯一的问题就是在输出之前,必须从我的值中去掉每个逗号和换行符。

Microsoft.ACE.OLEDB.12.0获取工作表名称

我一直在寻找一种方法来获取我上传的电子表格中的第一个工作表名称。 现在,在使用Jet 4时,我发现了很多风格或代码,但是我必须使用Ace 12,而当我使用该驱动程序时,它将永远不会收到有关电子表格的任何信息。 有谁知道一个很好的方法来拉电子表格名称与Ace 12?

SQL批量复制“使用ASP.NET的数据源中的Stringtypes的给定值无法转换为指定的目标列的typesdatetime”

我正在处理ASP.NET MVC4 projet,我试图通过使用SQL批量复制将数据从xlsx文件(Excel 2010文件)导出到我的数据库。 我的Excel文件只包含2列:第一个包含数字(从1到25),第二个包含字符(“a,b,c”的连续序列) 这是我如何导出数据,但我得到了错误“从数据源的typesstring的给定值不能转换为指定的目标列的types的int” : public ActionResult Bulk() { string xConnStr = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\maarab\Documents\BulkCopy.xlsx;Extended Properties=Excel 12.0;"; using (OleDbConnection connection = new OleDbConnection(xConnStr)) { OleDbCommand command = new OleDbCommand("Select * FROM [Sheet1$]", connection); connection.Open(); string dbConnection = ((EntityConnection)db.Connection).StoreConnection.ConnectionString; // Create DbDataReader to Data Worksheet using (DbDataReader dr = command.ExecuteReader()) { using (var bulkCopy = […]

mso-data-placement:同一个单元格不工作

我正在将数据从网页导出到Excel中。 这应该是一个没有道理,但数据中有<p>标签。 这导致Excel创build新行时,数据应该都在同一个单元格中。 经过一番研究,我发现mso-data-placement应该能够做到这一点,但是它不起作用。 Excel将打开,显示数据,但会创build额外的不必要的行。 这是我用来导出数据的代码: protected void doexcel() { string style = @"<style type='text/css'>P {mso-data-placement:same-cell; font-weight:bold;}</style>"; HttpResponse response = HttpContext.Current.Response; // first let's clean up the response.object response.Clear(); response.Charset = ""; //set the response mime type for excel response.ContentType = "application/vnd.ms-excel"; Random RandomClass = new Random(); int RandomNumber = RandomClass.Next(); String filename = "a" […]

使用c#asp.net / MVC从Web浏览器的巨大Excel文件中打开单个工作表(单个选项卡)

我有巨大的Excel文件,我必须从网页浏览器打开。 加载大文件需要几分钟的时间。 是否可以从包含许多工作表的Excel文件中一次打开一个工作表(单个选项卡)? 我必须使用C#/ asp.net MVC来做到这一点

在Excel中使用EPPlus(asp.net)转换为整数

我使用LoadFromDataTable方法从数据表格加载数据到Excel中,然后将单元格格式更改为整数,但仍显示错误“此单元格中的数字格式设置为文本或在撇号之前” 。 单元格只显示在右侧,数字格式只在单元格属性上显示。 仍然我不明白为什么我得到这个错误? Dim wsManufacturing As ExcelWorksheet = pck.Workbook.Worksheets.Add("Manufacturing") wsManufacturing.Cells("A1").LoadFromDataTable(dtManufacturing, True) Using col As ExcelRange = wsManufacturing.Cells(2, 2, 2 + dtManufacturing.Rows.Count, 2) col.Style.Numberformat.Format = "#,##0" col.Style.HorizontalAlignment = ExcelHorizontalAlignment.Right End Using

从gridview c#格式导出到excel标题文本

我从gridview出口到excel。 有什么办法来格式化标题文本并将其包装在Excel中? 我出口到Excel代码为 grdCommon.Font.Size = FontUnit.XSmall; grdCommon.GridLines = GridLines.Both; grdCommon.Style["font-family"] = "Arial, Helvetica, sans-serif;"; grdCommon.HeaderStyle.HorizontalAlign = HorizontalAlign.Center; grdCommon.HeaderStyle.ForeColor = System.Drawing.Color.White; grdCommon.HeaderStyle.BackColor = System.Drawing.Color.FromArgb(80, 124, 209); grdCommon.HeaderStyle.Font.Size = 8; grdCommon.HeaderStyle.Width = 30; 我试着添加下面的格式在Excel中的标题列。 但excel头不会被包装 grdCommon.HeaderRow.Style.Value = "word-break:break-all;word-wrap:break-word"; grdCommon.HeaderRow.Cells[0].Wrap = true; 并修改了这个方法 grdCommon.HeaderRow.Style.Add("background-color", "#FFFFFF"); as grdCommon.HeaderRow.Style.Add("word-wrap","true"); 有什么build议么…

从HTML生成Excel文件

我知道我可以生成一个HTML <table>并将其保存为一个.xls文件以读取到Excel中,并且工作正常,但它只给我一张纸。 有没有办法生成HTML,以便我可以在一个.xls文件中有多个工作表? 我试着简单地生成一个<table> ,但是最后他们只能被追加到eachother中。

如何在asp.net c#上创build一个真正的XLS文件?

我有这个代码在.xls文件中将表提取到计算机: // I have a string which contains HTML table codes, named as excelTable HttpResponse response = HttpContext.Current.Response; response.Clear(); response.AddHeader("Content-Disposition", String.Format("Attachment;Filename=file.xls", )); response.Buffer = true; response.ContentEncoding = System.Text.Encoding.Default; response.ContentType = "application/vnd.ms-excel"; response.Write(excelTable); response.End(); 我已经看到这不是一个真正的.xls文件。 我可以在记事本中打开它,看到我的标准HTML表代码。 现在我明白定义ContentType是不够的。 那么我还能做些什么来生成纯粹的.xls或.xlsx文件? 还是应该使用像OpenXML,Interop等Excel库?