Tag: asp.net

将网格导出为ex​​cel后文件无法打开

我想将网格导出为ex​​cel。 如果网格有100或更less的行,一切工作正常。 但是我的网格有2000多行。 我没有得到任何错误或例外,但文件不会打开后导出和Excel停止工作。 当我打开文件时,我收到一个警告消息,如“filename.xls的文件格式和扩展名”不匹配,文件可能损坏或不安全,除非您信任它的来源,否则不要打开它。想要打开吗?“ 我正在使用下面的代码 Response.ClearContent(); Response.Buffer = true; Response.AddHeader("content-disposition", string.Format("attachment; filename= {0}", "IAParts.xls")); Response.ContentType = "application/ms-excel"; System.IO.StringWriter sw = new System.IO.StringWriter(); HtmlTextWriter htw = new HtmlTextWriter(sw); GridView1.AllowPaging = false; BindGrid();//this method binds the data to grid GridView1.RenderControl(htw); Response.Write(sw.ToString()); sw.Flush(); Response.End();

一些文本在xlsx中缺lessc#asp.net中的文本

我正在尝试使用Microsoft提供程序连接string来处理c#asp.net中的.xlsx文本: Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myExcel2007file.xlsx; Extended Properties="Excel 12.0 Xml;HDR=YES;IMEX=1"; 然后我得到的所有数据,但像12345.34数字转换为12345.在相同的string,如果我使用IMEX = 0那么数字转换正确,但我没有得到前两行。 这里是.xlsx文件链接的链接

excel保存和下载

我试图从代码中保存一个excel文件并将其下载到用户。 创build文件的代码: Excel.Application ExcelObj = new Excel1.Application(); Excel.Workbook wb = ExcelObj.Workbooks.Add(); Excel.Worksheet wsh = wb.ActiveSheet; wsh.Cells[1, 1] ="….."; //fill data in the file string errorsFileName = "Error.xls"; string url = @"…" + errorsFileName; wb.SaveAs(url); wb.Close(); 创build后,我可以从他的位置打开文件。 它被保存得很好。 下一步是将文件下载到用户,我用这个代码(在不同情况下适用于我)执行此操作: System.Web.HttpResponse response = System.Web.HttpContext.Current.Response; response.ClearContent(); response.Clear(); //response.ContentType = "text/plain"; response.ContentType = "application/ms-excel"; response.ContentEncoding = System.Text.Encoding.Default; response.BinaryWrite(System.Text.Encoding.Default.GetPreamble()); response.Charset […]

MailMessage – 错误打开Excel附件

public void SendMail(string smtpAddress, string subject, string body, bool isBodyHtml, string from, string to, string cc, string bcc,DataTable dt) { SmtpClient smtpClient = null; try { smtpClient = new SmtpClient(); smtpClient.Host = smtpAddress; MailMessage mailMessage = new MailMessage(from, to, subject, body); mailMessage.BodyEncoding = Encoding.UTF8; mailMessage.IsBodyHtml = true; using (MemoryStream memoryStream = new MemoryStream()) { Byte[] […]

C#通用OleDb连接到Excel

我有一个ASP-MVC应用程序,允许用户上传一个Excel文件。 我支持* .xls文件(Excel 97-2003)和* .xlsx文件(Excel 2007+)。 一旦文件被上传,程序使用一个可用的驱动程序打开一个到excel文件的OleDB连接: Microsoft.ACE.OLEDB.12.0为最新的Excel文件格式。 用于较旧的Excel文件格式的Microsoft.Jet.OLEDB.4.0。 我写这篇文章的时候是一个if代码块,它检查要打开的Excel文件的MIMEtypes并select正确的驱动程序来打开OleDb连接。 但是我不能同时支持两种文件格式。 如果我在64位模式执行我的ASP应用程序,我得到的错误: “Microsoft.Jet.OLEDB.4.0”提供程序未在本地计算机上注册。 如果我在32位模式执行我的ASP应用程序,我得到的错误: “Microsoft.ACE.OLEDB.12.0”提供程序未在本地计算机上注册。 如果有能够连接到所有版本的Excel文件的通用Microsoft OleDb提供程序? 更新:我正在使用.NET Framework 4的Windows Server 2008 SP1的64位版本上运行

超链接数据不在radgrid excel导出中导出

我有两个超链接列在radgrid中,当我尝试将其导出为ex​​cel,该列在excel表中是空白的,如果我使用excelML我的date列显示时间,我不能改变它,请帮助我,谢谢提前。 RadGrid11.MasterTableView.AllowFilteringByColumn = false; RadGrid11.MasterTableView.AllowPaging = false; RadGrid11.ExportSettings.ExportOnlyData = true; RadGrid11.HeaderStyle.Font.Bold = true; RadGrid11.HeaderStyle.BorderWidth = 5; RadGrid11.HeaderStyle.HorizontalAlign = HorizontalAlign.Center; RadGrid11.ExportSettings.FileName = "Batch"; RadGrid11.MasterTableView.GetColumn("SelectColumnID").Visible = false; //RadGrid11.ExportSettings.Excel.Format = GridExcelExportFormat.ExcelML; RadGrid11.MasterTableView.ExportToExcel(); aspx页面: “> <telerik:GridTemplateColumn DataField="MemberName" HeaderText="Member Name" SortExpression="MemberName" UniqueName="MemberName" > <HeaderStyle HorizontalAlign="Center" CssClass="RadG" Width="130px" VerticalAlign="Top"/> <ItemStyle Font-Names="Times New Roman" HorizontalAlign="Left" Font-Size="10px" Font-Bold="false" /> <ItemTemplate> <asp:LinkButton ID="hpLinkName" runat="server" […]

将表格转换为excel

我想把我的表中的所有logging写入一个excel文件。 我的桌子上有大约30000行。 我可以写20000行只有excel。 System out of memoryexception发生之后。 这是我的代码。 提前致谢。 using (SqlConnection con = new SqlConnection(strconnection)) { using (SqlCommand cmd = new SqlCommand("SELECT * FROM tbl_ReportwithoutDup")) { using (SqlDataAdapter sda = new SqlDataAdapter()) { cmd.Connection = con; sda.SelectCommand = cmd; using (DataTable dt = new DataTable()) { sda.Fill(dt); using (XLWorkbook wb = new XLWorkbook()) { wb.Worksheets.Add(dt, […]

将Excel导出到Asp.net,平板电脑不会打开

在我的function,我有以下指示: grid.DataSource = dt grid.DataBind() Response.Clear() Response.AddHeader("content-disposition", "attachment; filename=Soste.xls") Response.AddHeader("Content-Type", "application/Excel") Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" Response.Charset = "" Dim stringWrite As System.IO.StringWriter = New System.IO.StringWriter Dim htmlWrite As New HtmlTextWriter(stringWrite) grid.RenderControl(htmlWrite) Dim html As String = stringWrite.ToString() Dim pattern As String = "(\p{Sc})?" Dim rgx As New System.Text.RegularExpressions.Regex(pattern) html = rgx.Replace(html, "") Response.Write(html) HttpContext.Current.Response.[End]() 网格是一个数据网格,我发布要导出的数据。 在个人电脑上它是好的,但是当我尝试导出数据到平板电脑(android或苹果),该文件无法打开。 […]

在客户端打开时找不到服务器上的Excel文件

使用C#和ASP.NET,我试图通过Microsoft Interop读取服务器上的Excel文件,对其进行一些处理,保存并将其下载到客户机上。 在本地主机上,它工作正常,但在客户机上显示此消息 Server Error in '/' Application. Microsoft Office Excel cannot access the file 'C:\inetpub\wwwroot\ICNMS\Mysheet.xlsx'. There are several possible reasons: • The file name or path does not exist. • The file is being used by another program. • The workbook you are trying to save has the same name as a currently open […]

在ASP.NET中的Excelfile upload

对于其中一个应用程序,我需要上传excel文件。excel文件是由另一个应用程序生成的。 当我上传Excel文件时,我收到错误消息。 错误 System.Data.OleDb.OleDbException(0x80004005):外部表格不是预期的格式。 在System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr,OleDbConnection连接)“。 我检查了所有可能的情况来解决这个问题。 有一件事我注意到,当我上传的Excel 97,2000格式的工作与其保存相同的Excel文件。 另一方面,我检查Encoding in UCS-2 Little Endian文件编码Encoding in UCS-2 Little Endian和保存为新的excel文件(97,2000格式)的编码,它显示“ANSI”。 我无法弄清楚是什么问题。