Tag: asp.net

ASP .NET下载与日文文件名的文件

我目前正在为我的ASP .NET应用程序使用Visual Studio 2008。 我正在尝试通过Response对象来服务于一个Excel文件。 问题是我似乎无法将文件的标题设置为日文。 如果我将它设置为日文文件名,它会作为垃圾文字返回。 我正在日文WinXP中使用日文IE浏览器。 Response.AppendHeader("Content-Type", "application/vnd.ms-excel"); Response.AddHeader("Content-Disposition", String.Format("attachment; filename=\"{0}\"", "日本語.xls")); 要么 Response.AddHeader("Content-Disposition", String.Format("attachment; filename=\"{0}\"", Server.HtmlEncode("日本語.xls"))); 我已经尝试将编码更改为Shift-JIS Response.Charset = "Shift_JIS"; 要么 Response.Charset = "sjis"; 有任何想法吗? 顺便说一句,我也有与Visual Studio 2005相同的问题。

从asp.net错误64位excel SSIS执行

背景 我已经实现了一个从磁盘执行SSIS包的asp.net web应用程序。 这在从debug studio运行在debugging时,但一旦释放到服务器抱怨大约64位SSIS下面的错误。 我已经看到了很多关于解决scheme的文章,但我不确定我的scheme中最适合的解决scheme。 我可以完全访问Web服务器和asp.net c#应用程序代码,在此版本的数据库服务器上进行有限的访问。 错误: * SSIS错误代码DTS_E_OLEDB_EXCEL_NOT_SUPPORTED:在64位版本的SSIS中不支持Excel连接pipe理器,因为没有OLE DB提供程序可用。 SSIS错误代码DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER * C#代码 string pkgLocation; Package pkg; Application app; DTSExecResult pkgResults; string result = string.Empty; string dtsErrors = string.Empty; try { pkgLocation = packagePath; app = new Application(); pkg = app.LoadPackage(pkgLocation, null); pkgResults = pkg.Execute(); //Add any errors to string for notifying user […]

从ExcelSheetparsingDateTime

我正在寻找一些build议。 我正在写一个类来自动从Excel电子表格(使用NPOI api)中提取信息,然后将这些信息导入到数据库中。 除了一个小问题之外,我已经可以正常工作了。 我正在使用的电子表格之一包含以下格式的date: 04/01/2011 04:43:28 。 当我运行Web应用程序时,出现以下错误消息: string未被识别为有效的date时间 所以我在这之后通过代码进行debugging,结果是date被读入: 40546.0151388889 ,所以它被格式化回一个数字。 我不确定如何解决这个问题,我希望有人能指出我正确的方向? 这里是我的代码exerpt: using (FileStream fs = File.Open(filename, FileMode.Open, FileAccess.Read)) { HSSFWorkbook templateWorkbook = new HSSFWorkbook(fs); HSSFSheet sheet = templateWorkbook.GetSheetAt(w); HSSFRow row = null; for (int i = 1; i <= sheet.LastRowNum; i++) { FTPSalesDetails t = null; int currentColumn = 0; try […]

为什么excel保持开放?

可能重复: 如何正确清理C#中的Excel互操作对象 我有这个函数来计算一些数据的线性趋势: private string Trend(object conocido_y, object conocido_x, object nueva_matriz_x) { string result = String.Empty; try { Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application(); result = ((Array)xlApp.WorksheetFunction.Trend(conocido_y, conocido_x, nueva_matriz_x, true)).GetValue(1).ToString(); xlApp.Quit(); System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp); xlApp = null; } catch (System.Runtime.InteropServices.COMException ex) { DError.ReportarError(ex, false); } catch (Exception ex) { DError.ReportarError(ex); } return result; } 结果很好,但excel应用程序不closures,如果我打开任务pipe理器的过程仍在运行,为什么?

我如何写一个Excel中使用Microsoft.Office.Interop.Excel.Application在C#中

我想有一个简单的例子来写入Excel电子表格使用Microsoft.Office.Interop.Excel.Application对象在C# 任何人请帮助谢谢

ASP.NETbutton点击下载Excel文件

作为序言,所有这一切都发生在本地内联网上,而这个内联网并不需要连接到互联网。 我有一个数据库运行查询,然后用户按下“下载电子表格”button创build/发送电子表格。 电子表格的创build工作正常,但经过多次尝试后,我无法下载文件。 以下是我所尝试的: 修改Response / Header对象 的TransmitFile WriteFile的 BinaryStream redirect Javascriptredirect Response.Write(javascript代码) 在大多数情况下,结果是创build了excel文件,但没有发生redirect/下载。 在Response.Redirect()的情况下,如果它是一个网站,它工作的很好,但是如果是redirect到一个文件:///,那么它会抛出一个线程exception,但没有更多的细节。 我怀疑它与ASP.NET文档的生命周期有关,但是我担心我没有足够的经验来熟悉ASP.NET。

在网站上生成一个xslx文件的最好方法是什么? 可能有数百万行?

我的任务是编写一个解决scheme来修复性能不佳的传统Excel文件生成器。 我需要生成的文件可能会变得非常大。 也许高达一百万行,40-50列。 我想如果可能的话,我会直接stream式传输给用户,但是我可能只需要先将文件保存到磁盘,然后为用户创build一个链接。 我的目标是做一个性能testing,testing是否可以生成一个包含1.500.000行和50列的xslx文件,每个单元格包含一个随机的10个字母的string…即使处理文件这么大, 注意事实上,大多数文件的生成绝不会超过300.000行,绝对最大值是大约950.000行,但是在压力testing时,我喜欢玩150M行。 你有什么build议,我应该如何去解决这个任务。 我应该注意哪些组件? excel的限制? PS:如果我不必在服务器上安装Excel,我将不胜感激。

在asp.net中如何清除GridView?

我在asp.net中做一个网页,在一个模块中select一个带有FileUpLoad的Excel存档,然后点击button导入。 到目前为止我没事。 但是,在我想要select其他Excel存档并点击button导入的时刻,不要清除GridView并显示错误。 我尝试这个,因为我在其他类似的问题看到。 有了这个我加载网格 Conn = string.Format(Conn, DireccionArchivo, MostrarHDR); OleDbConnection ConnExcel = new OleDbConnection(Conn); OleDbCommand CmdExcel = new OleDbCommand(); OleDbDataAdapter Oda = new OleDbDataAdapter(); DataTable Dt = new DataTable(); CmdExcel.Connection = ConnExcel; ConnExcel.Open(); CmdExcel.CommandText = "SELECT * From ["Page1$"]"; Oda.SelectCommand = CmdExcel; Oda.Fill(Dt); ConnExcel.Close(); grdResultados.Caption = Path.GetFileName(DireccionArchivo); grdResultados.DataSource = Dt; grdResultados.DataBind(); 我想清除GridView ,最后调用新的加载GridView的方法 DataTable […]

从.xlsx文件读取数据时

string Code = ""; if (fileUp.HasFile) { string Path = fileUp.PostedFile.FileName; // initialize the Excel Application class ApplicationClass app = new ApplicationClass(); // create the workbook object by opening the excel file. Workbook workBook = app.Workbooks.Open(Path, 0, true, 5, "", "", true, XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0); // Get The Active Worksheet […]

OleDbDataAdapter不从服务器中的Excel中读取所有数据但在本地系统中正常工作

我有问题使用C#从Excel中读取数据(它包含超过30,000行)。 当我在本地系统testing它工作正常,即它复制从Excel中的所有行,但是当我部署和运行在生产服务器,它只能读取约12,000行)。 我也尝试过使用BulkCopy,但是也一样。 它是否必须做任何与networking服务器(我的networking服务器是Windows Server 2008)? 请帮助我。 谢谢 protected void ImportFromExcelToTempCompetitionTable(string filename) { string strConn = "Provider=Microsoft.ACE.OLEDB.12.0; " + "Data Source=" + filename + ";" + "Extended Properties=Excel 12.0"; OleDbDataAdapter cmdOle; cmdOle = new OleDbDataAdapter("SELECT [StringColA], [StringColB], [NumberCol1], [NumberCol2] from [XYZSheet]", strConn); try { Boolean blnSuccess = false; DataSet ds = null; ds = new […]