Tag: asp.net

解决“Microsoft.ACE.OLEDB.12.0”提供程序问题,而不安装“Microsoft Access数据库引擎”

我从MS-Excel导入一些数据到C#。 当我在本地服务器(IIS 7)上部署此应用程序时,出现以下错误。 “Microsoft.ACE.OLEDB.12.0”提供程序未在本地计算机上注册 我在本地服务器上安装了“Microsoft Access数据库引擎”来解决这个问题。 现在当我在远程服务器上部署我的应用程序。 我有同样的错误。 出于安全原因,不允许在实时服务器上安装“Microsoft Access数据库引擎”。 我的问题是有什么办法解决这个问题从.dll(添加一些参考项目)或任何其他方式。

字节数组excel工作簿

我正在尝试将字节数组转换为Excel工作簿。 当我这样做的时候 Response.BinaryWrite(renderedBytes); 它工作正常,文件是预期的。 但是,当我尝试用我在网上find的这个方法做到这一点时: private Object ByteArrayToObject(byte[] arrBytes) { MemoryStream memStream = new MemoryStream(); BinaryFormatter binForm = new BinaryFormatter(); memStream.Write(arrBytes, 0, arrBytes.Length); memStream.Seek(0, SeekOrigin.Begin); Object obj = (Object)binForm.Deserialize(memStream); return obj; } 我收到一个错误: System.Runtime.Serialization.SerializationException: Binary stream '0' does not contain a valid BinaryHeader. Possible causes are invalid stream or object version change between serialization and […]

如何导出到Excel?

我遵循这个指南 ,这是在另一篇文章中推荐这个,但我不能完全得到它的工作。 当试图redirect到/ LogModelsController / ExportData时,我得到一个404错误 – 据我了解 – 是我应该做的。 _LogPartialLayout.cshtml @using (Html.BeginForm("ExportData", "LogModelsController", FormMethod.Post, new { enctype = "multipart/form-data" })) { <table class="table"> <tr> <th> @Html.ActionLink("message", "Index", new { sortOrder = ViewBag.NameSortParm, currentFilter = ViewBag.CurrentFilter }) </th> <th> @Html.ActionLink("timestamp", "Index", new { sortOrder = ViewBag.NameSortParm, currentFilter = ViewBag.CurrentFilter }) </th> <th> @Html.ActionLink("level", "Index", new […]

从ASP.NET导出数据为Excel文件

我有像下面的数据 AAAAAA BBBBBB CCCCCC DDDDDD EEEEEE 现在页面上有一个button,当我点击button时,浏览器将下载一个带有上述数据的Excel文件,并保留在当前页面上。 有没有简单的方法来做到这一点? 数据非常简单。 只有一列,并不是很大。 最好的祝福,

ASP.NET导出到Excel – locking单元格

我想将我网页上的表格导出到Excel文件中,并locking新文件中的一些单元格 。 这是我现在的代码: Protected Sub btnExportToExcel_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnExportToExcel.Click Response.Clear() Response.Buffer = True Response.ContentType = "application/vnd.ms-excel" Response.AddHeader("content-disposition", "attachment;filename=EpicSearchResults.xls") Response.Charset = "" Me.EnableViewState = False Dim sw As New System.IO.StringWriter() Dim htw As New System.Web.UI.HtmlTextWriter(sw) Session("tblResults").RenderControl(htw) Response.Write(sw.ToString()) Response.End() End Sub 此代码在生成Excel文件中起作用。 我search了一个无法find很多解决scheme来locking新文件中的单元格。 先谢谢您的帮助!

导出gridview以优化自定义值格式

我在我的内容页面有4个东西: 一个gridview 查询button,执行数据库视图,并显示查询结果在视图中的gridview 导出为ex​​celbutton,将gridview导出为ex​​cel 发送电子邮件与上面的Excel作为附件 他们工作得很好,但是我注意到一列中的一些单元格的格式奇怪的问题,该列有2个格式应用于值,“数字”和“一般”,是“数字”不正确的一个。 这里有一些照片的前几个结果来说明我在说什么: 在SQL Server中 在内容页面 在Excel中 请注意,在SQL Server和页面上,单元格显示的格式是正确的,即XXXXX.etc( 通用格式 ),但数字较多的单元格被格式化为“数字” 我会发布一些代码下面: 网格视图 <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="true"></asp:GridView> 导出为ex​​celbutton protected void Buttonexcel_Click(object sender, EventArgs e) { try { Response.Clear(); Response.Buffer = true; Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; Response.Charset = ""; Response.AddHeader("content-disposition", "attachment;filename=dados.xls"); StringWriter sWriter = new StringWriter(); HtmlTextWriter hWriter = new HtmlTextWriter(sWriter); GridView1.RenderControl(hWriter); Response.Output.Write(sWriter.ToString()); […]

为什么我的StreamWriter Response输出在Excel中产生垃圾口音,但在记事本中看起来不错?

我正在使用来自另一个堆栈溢出问题的技术将CSV文件写入用户打开/保存的Response输出。 在记事本中该文件看起来不错,但是当我在Excel中打开它时,重音字符是垃圾。 我认为这是与字符编码有关,所以我尝试手动将其设置为UTF-8( StreamWriter的默认值)。 这里是代码: // This fills a list to enumerate – each record is one CSV line List<FullRegistrationInfo> fullUsers = GetFullUserRegistrations(); context.Response.Clear(); context.Response.AddHeader("content-disposition", "attachment; filename=registros.csv"); context.Response.ContentType = "text/csv"; context.Response.Charset = "utf-8"; using (StreamWriter writer = new StreamWriter(context.Response.OutputStream)) { for (int i = 0; i < fullUsers.Count(); i++) { // Get the record to […]

在IE中打开Excel .xlsx文件,并将其embedded的超链接返回到文件服务器

我有一个内部网站,允许用户在浏览器中打开文件(通过提示下载)。 其中一个文件是一个.xlsx工作簿,其中包含指向.xlsx工作簿所在文件服务器上不同文件位置(.pdf,.docs )的超链接。 看来工作簿的文件服务器path被replace为“Temporary Internet Files / Content.IE5 /”path,导致在Excel中警告“无法打开指定的文件”。 我尝试下载Excel文档,然后按照链接,但他们仍然打开在临时互联网的位置 编辑: 例如,当把鼠标hover在Excel中的超链接上时,它们是:“file:/// C:\ Documents and Settings \%username%\ Local Settings \ Temporary Internet files \ Content.IE5 \ 40WSS3CB \”+ 当他们应该阅读:“file:/// \ servername \ Departments \ Read \”+文件名 我怎样才能仍然打开浏览器中的Excel文件,并保留超链接,并让他们不能被replace临时互联网文件path? 有人能指出我的方向吗? 谢谢!

NPOI – 从模板文件创build保存工作簿

这是我第二次处理NPOI。 我从这样的模板excel文件创build工作簿。 string dldir = AppDomain.CurrentDomain.BaseDirectory + "Download\\excel\\"; string uldir = AppDomain.CurrentDomain.BaseDirectory + "Upload\\default_export_file\\"; string filename = DateTime.Now.ToString("yyyy-Md") + "_" + user.first_name + "_" + query.default_export_filename; System.IO.File.Delete(Path.Combine(dldir, filename)); //System.IO.File.Copy(Path.Combine(uldir, query.default_export_filename), Path.Combine(dldir, filename)); HSSFWorkbook hssfwb; using (FileStream file = new FileStream(Path.Combine(uldir, query.default_export_filename), FileMode.Open, FileAccess.ReadWrite)) { hssfwb = new HSSFWorkbook(file); } MemoryStream mstream = new MemoryStream(); hssfwb.Write(mstream); […]

用户下载提示后删除文件

我觉得这很简单。 我的程序将使用自动化在服务器上创build一个Excel文件。 之后,我要强制用户select是否下载,然后,不pipeselect什么,删除文件,这样不会占用空间。 任何想法如何我可以做到这一点?