Tag: asp.net

无法使用c#在asp.net客户机上创buildexcel文件?

我使用这个代码在客户端的机器上创build一个excel文件,同时按下asp.net中的button protected void excldwnlbtn4_Click(object sender, EventArgs e) { write_on_excel("Vendor.xls"); lblmsg4.Text = "File Downloaded"; } 而创buildexcel文件的代码是: public void write_on_excel(string filepath) { Excel.ApplicationClass excelApp = new Excel.ApplicationClass(); try { Excel.Workbook workbook = (Excel.Workbook)excelApp.Workbooks.Add(Missing.Value); Excel.Worksheet worksheet; //// Opening excel file //workbook = excelApp.Workbooks.Open(filepath, 0, false, 5, "", "", true, Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0); workbook.SaveAs(filepath, […]

如何使用asp.net与生成的excel操作图表,使用NPOI?

我不确定是否可以修复它,但我有以下情况: 我有一些DataTable与一些数据,我需要准备使用这些数据的图表。 我已经读过,在NPOIdynamic制作任何图表的唯一可能性是准备模板,只填写excel的单元格。 但是我有一些问题 : 我可以有dynamic的数据行数。 所以我需要能够使用一个模板,例如4和7行。 所以我有想法select更多的数据(在模板中),只使用其中的一部分,但我有这样的情况: 所以我需要dynamic改变图表的范围。 有什么可能解决我的问题?

下载选定的Gridview的行来优化

我需要将一个asp.net gridview的选定行下载到Excel工作表中。 我正在做的是一次尝试所有的检查或只是select一些,然后按下面的下载button后,所有选定的行被下载为excel。 当我按下载button时,所有的东西都可以正常工作,而所有的行都会被忽略。 以下是我的代码 public void ExportGridToExcel(GridView grdGridView, string fileName) { Response.Clear(); Response.AddHeader("content-disposition", string.Format("attachment;filename={0}.xls", fileName)); Response.Charset = ""; Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache); Response.ContentType = "application/vnd.xls"; StringWriter stringWriter = new StringWriter(); HtmlTextWriter htmlWriter = new HtmlTextWriter(stringWriter); // I Tried using following (but with no success) //—–Trial Starts—————- //foreach (GridViewRow gvr in gvProgramList.Rows) // { // CheckBox cbox = […]

Excel单元格中的HTML数据。 Excel更改值,导致数据库无效导入

我目前正在尝试导入包含我网站产品的产品数据的Excel电子表格。 在可用于产品导入的各个领域中,其中一个是产品说明。 在这个单元格中,我粘贴了希望在该产品上显示的HTML数据。 但是,似乎有时Excel会决定自行格式化这些数据,并且在导入之后,HTML全部搞砸了。 这很奇怪,因为这不会发生在每个产品上。 我已经尝试格式化单元格为“文本”,但似乎没有效果。 当我将单元格中的值粘贴到记事本中时,我可以看到每个单引号(“)已经加倍了,出于什么原因,我不知道。 数据在单元格中查看时看起来是正确的,但不能正确导入,并且在复制和粘贴excel时,数据会被明显更改。 任何想法如何弥补这一点? 我怎样才能让excel忽略数据呢?

打开stream式Excel文档时避免受保护的视图

我们有一个ASP.NET应用程序,可以dynamic生成Excel文档,并使用Response.WriteFile将它们stream式传输到客户端,请参阅下面的代码。 请注意,一旦文件被写入客户端,文档将被删除。 因此,服务器上没有任何文件。 但是,我的客户的用户现在已经全部升级到Office 2010,现在这些文档将在“受保护的视图”中打开。 为了编辑文档,用户必须先点击“启用编辑”。 用户认为这是不可接受的。 发生这种情况的原因是stream式文档被放置在Internet临时文件中,这被认为是“可能不安全的位置”。 而且这些地点的文件在受保护的视图中打开。 我只是希望有办法解决这个问题。 理论上,我可以将文档放置在可从客户端访问的文件夹中,并redirect到文档。 但是,这个解决scheme不是一个选项。 首先,由于文档将留在服务器上,所以其他用户可以访问该文档,这是一个问题,因为文档可能包含机密数据。 还有其他原因,为什么这不是一个可行的select。 另一个理论上的解决方法是要求所有用户禁用设置“启用受保护的视图位于可能不安全的位置的文件”。 当然,这也不是一个选项。 那么,总之,在使用下面描述的stream媒体技术的时候,有没有办法避免在“受保护的视图”中打开文档呢? Response.Buffer = true; Response.Clear(); Response.AddHeader("Pragma", "no-cache"); Response.Expires = 0; Response.AddHeader("Content-Type", contentType); Response.AddHeader("Content-Disposition", "attachment; filename=" + proposedFilename); Response.WriteFile(dstFullPathName); Response.Flush(); Response.Close(); File.Delete(dstFullPathName); HttpContext.Current.ApplicationInstance.CompleteRequest();

如何为dynamic生成的工作簿创build下载选项

我使用下面的代码将SQL数据转换为Excel工作簿..通过使用此代码.xls文件创build在C://驱动器。 如何使其可下载,客户可以下载它? 帮我。 我正在使用asp.net与C#。 下面的代码工作正常存储.xls文件中 c:/驱动器。 try { myfilename = subject + "_Sessional" + sessional + "_Batch" + batch; string sql = null; string data = null; int i = 1; int j = 0; Excel.Application xlApp; Excel.Workbook xlWorkBook; Excel.Worksheet xlWorkSheet; object misValue = System.Reflection.Missing.Value; xlApp = new Excel.ApplicationClass(); xlWorkBook = xlApp.Workbooks.Add(misValue); xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1); […]

使用Excel作为Asp.Net MVC站点的客户端

我在Asp.Net MVC框架上编写内部站点。 Theare是很多不同的字典。 所以我必须写(或生成,如果可行)许多相同的代码。 但是,我不想这样做:) 那么,我可以将Microsoft Excel连接到我的网站并更改我的字典中的数据吗? 为什么Excel? Excel有很多大的function: 与复制/粘贴良好的工作; 过滤; sorting; 复制数据; 和其他许多人。 我尝试使用odata协议,但它与excel(许多模式窗口,许多参数)集成很难。 我想要更简单,例如共享点整合(在Excel中更改列表)或TFS(可以创build和修改任务,错误和其他人认为)。 请你写一下技术能帮助我吗?

Excel的AddOLEObject函数不能在窗口2008 R2上工作

我写一个函数(C#,ASP.Net),将PDF文件添加到Excel工作表。 它在我的开发环境中工作是100%,但是当我在窗口2008 R2服务器上发布时,会出现以下错误。 我做了像我的发展设置相同的设置。 我不知道发生了什么事。 System.Runtime.InteropServices.COMException(0x800A03EC):无法插入对象。 System.RuntimeType.ForwardCallToInvokeMember(String memberName,BindingFlags flags,Object target,Int32 [] aWrapperTypes,MessageData&msgData)at Microsoft.Office.Interop.Excel.Shapes.AddOLEObject(Object ClassType,Object Filename,Object Link,Object DisplayAsIcon,Object E_BOM_View.GenerateGPNApplyForm(Int32 ProjectID)中的IconFileName,Object IconIndex,Object IconLabel,Object Left,Object Top,Object Width,Object Height)

.net读取excel文件时出现oledb错误

下面是我用于读取excel文件的代码。 我testing我的电脑本地主机和3窗口服务器。 本地主机和服务器的1工作正常,其他2服务器将返回错误 object reference not set to an instance of an object. 3服务器文件夹权限相同,并且excel文件以正确的path存在。 我不知道为什么在某些服务器发生错误。 VB.net代码 Dim objExcelConn As New OleDb.OleDbConnection objExcelConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & str_FilePath & ";Extended Properties=""Excel 8.0;HDR=No;IMEX=1""" Try objExcelConn.Open() <—— Where the error occur Catch ex As Exception Throw (New Exception(ex.InnerException.Message)) End Try

一旦在ASP.net中开始下载,如何启用UI

我正在通过ASP.net实现一个导出到excelfunction。 我有一个页面上的button控件。 当我点击button时,控件进入button的点击事件。 在那里我打电话给存储过程来获取Excel数据。 在Click事件(codebeind)我有下面的代码来下载excel文件中的数据。 Response.Clear() Response.AddHeader("content-disposition", String.Format("attachment;filename={0}.csv", "Report")) Response.Charset = "" Response.ContentType = "application/vnd.xls" Response.Write("a,b,c") – sample output from SP. Response.Flush(); 所有这些工作正常。 问题是 – 有时程序需要很长时间来执行,所以为了避免用户搞砸UI直到下载开始,我有一个JavaScript代码,当下载button被点击时禁用UI。 这也工作正常。 但我无法调用任何JavaScript代码重新启用UI,一旦下载已经开始或下载开始之前。 当我尝试在response.clear(在上面的代码中)之前呈现脚本并给出response.flush时,它给了我一个错误,一旦发送给客户端,我无法更改响应头。 我怎样才能实现这个function? 问题摘要? 我想从用户点击下载button的时间禁用UI,直到实际下载开始。 一旦下载开始,我想要启用用户界面回来。 我怎么能做到这一点。 谢谢。