Tag: stream

如何查找其他Excel实例并将其分配给Excel.Applicationvariables

我试图完成能够find其他Excel实例,并使用VBA控制它们。 学习其他线程这是我到目前为止,但由于某种原因,它不起作用。 我想要做的是以下几点: Dim xl as Excel.Application Dim objList As Object Dim objProcess As Object Set objList = GetObject("winmgmts:")._ ExecQuery("select * from win32_process where name='Excel.exe'") If objList.Count > 1 Then For Each objProcess In objList ' If objProcess <> Application Then ' Set xl = objProcess ' this is what doesn't work Exit For ' […]

继续TypeMismatch 2042错误的下一次迭代

我在VBA中寻找Continue语句。 我find了一个VB.NET解决scheme,但Excel“IDE”不能识别它。 http://msdn.microsoft.com/en-us/library/801hyx6f.aspx 如果发生错误,我想跳过迭代。 有没有其他的方法 – 一个更优雅的解决scheme – 但GOTO(这是最糟糕的情况下)或包装整个小组在if语句(这也无助于可读性)? 代码片段 'While Loop…. For Each C In w.Range(w.Cells(1, 1), w.Cells(num_rw, num_col)) If IsError(C.Value) Then: MsgBox ("File unsuitable!") 'Continue While End If If Var1 <> "" Then If C.Value = Var1 Then: _ Set Var1_Range = w.Range(w.Cells(C.Row, C.Column), w.Cells(num_rw, C.Column)) End If If Var2 <> "" Then […]

SSIS连接pipe理器问题

我在SSIS中创build了一个项目,它将从数据库中的表中获取数据,进行数据转换,然后插入到Excel电子表格中。 它工作正常,没有问题一个星期左右,但现在我与连接pipe理器有问题。 当涉及到Excel电子表格时,我从数据库中获得了很好的数据。 我已经尝试再次执行该项目,但仍然无法正常工作。 我在SSIS中创build一个新的excel目标>一个新的连接pipe理器去文件夹的目的地,并说明我想要文件被称为。 没有什么可从Excel表单下拉的名称,当我select新它只是closures窗口。 我不确定什么是错误的权限的东西? 当我运行应用程序时,我附上了这个截图和错误 部署应用程序时出错

使用c#reportviewer中的filestream创build新的excel工作表

我有这个代码来呈现一个reportviewer : Warning[] warnings; string[] streamids; string mimeType; string encoding; string extension; FileStream fs = new FileStream(@"c:\output.xls", FileMode.Create); foreach (ReportViewer report in this.reports) { byte[] bytes = report.LocalReport.Render("Excel", null, out mimeType, out encoding, out extension, out streamids, out warnings); fs.Write(bytes, 0, bytes.Length); } fs.Close(); 我的问题是,只有第一个报告可以在excel文件中以报告的名称作为工作表名称。 它看起来好像其余的 (文件大小增加),但没有正确格式。 我如何使每个报告进入不同的工作表? 笔记: 我尝试添加一个设备信息string为startpage = 0,但是这也没有帮助。 我试图避免使用额外的库来实现这一点,它是一个非常轻量级的程序的一部分。 类似的未答复的问题: https […]

在Servlet端生成带有Excel表格的内存zip文件

这里基本上我试图发送Excel文件从服务器到客户端的zip文件。 方法1:我的Servlet代码 ByteArrayOutputStream bos = new ByteArrayOutputStream(); ZipOutputStream zos = new ZipOutputStream(bos); for(Map.Entry<String, List<Data>> entry : DatasMap.entrySet()) { String fileName = entry.getKey(); List<Data> excelData = entry.getValue(); // The below code constructs the workbook and returns it SXSSFWorkbook workBook = getWorkBook(fileName, excelData); ZipEntry zipEntry = new ZipEntry(fileName ); zos.putNextEntry(zipEntry); workBook.write(zos); zos.closeEntry(); // getting error at this […]

打开从sql server下载的Office文件时出错

原来的办公文件没有问题(我试过word和excel),但是当我把file upload到数据库,然后从那里下载到我的电脑,并打开下载的文件,我得到警告消息“excel found内容无法读取“等等,并且与原始文件相比,文件变得更加清晰。 确切的错误信息是; “Excel在filename.xls中发现了不可读的内容。是否要恢复此工作簿的内容?如果您信任此工作簿的源,请单击”是“。 我如何上传文件: 'UPLOAD FILE Dim fi As New FileInfo(FilePath) Dim s As Stream = fi.OpenRead() Dim buffer(fi.Length) As Byte 'I put the buffer in database in varbinary(max) format s.Read(buffer, 0, fi.Length) s.Close() 我如何下载并打开文件: 'DOWNLOAD FILE Dim fi As New FileInfo(FilePath) Dim s As Stream = fi.OpenWrite() Dim buffer As Byte() = […]

在网站上生成一个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,我将不胜感激。

你将如何简化这个过程?

我有一堆(超过1000)只有简单的文本的HTML文件。 这只是<table>本的组合。 这是一批内部文件,不适用于网页制作。 我们的工作是使用Photoshop和旧的复制粘贴方法将它们转换成JPEG文件。 这是乏味的。 有没有一种方法可以使这个过程更加高效/简单/简单? 我曾试图将HTML转换成Excel,然后将它合并到Word中作为JGEG打印。 但是我找不到(也没错)将HTML转换为XLSX。 思考? 或者这只是一个手动工作?

通过C#下载间接URL

我有一个间接的链接,生成一个Excel文件。 我搜查了很多,发现有些方法没有做到我所需要的。 链接地址不是直接引用excel文件,原因是每当请求URL时,网页会创build一个新的excel文件__refreshes内容。 我使用了下面提到的不同的方法。 我真正想要做的是,不用打开浏览器,我想下载的URL(这是一个Excel文件)的内容,并保存为一个Excel文件。 这里是链接 ,如果你点击它,你将直接得到一个excel文件,但是URL本身不包含excel文件的扩展名。 我用了以下方法: client.DownloadFile(@"http://members.tsetmc.com/tsev2/excel/MarketWatchPlus.aspx?d=0", @"D:\a.xlsx"); 上述方法保存的内容,但不幸的是它不能通过Excel显示,我不知道原因。 WebRequest request = HttpWebRequest.Create(@"http://members.tsetmc.com/tsev2/excel/MarketWatchPlus.aspx?d=0"); using (WebResponse response = request.GetResponse()) { Stream responseStream = response.GetResponseStream(); StreamReader r = new StreamReader(responseStream); //third party methods } 此外上面的代码被用于search,但它没有提供我所需要的,我用一些第三方的dlls保存stream作为Excel文件,再次保存的文件不能通过Excel打开。 我也使用Process.Start,但它打开浏览器。 我不想打开任何浏览器。

Apache POI:SXSSFWorkbook.dispose()不存在

我使用Apache的POI API来编写XLSX文件。 由于我需要编写大文件,因此我正在使用Streaming API(SXSSF)。 要做到这一点,我遵循本指南。 请注意,在示例的结尾处有一个呼叫 wb.dispose 这个wb实例引用了一个SXSSFWorkbook实例。 我在我的代码中使用相同的,但它抱怨不存在的处置方法。 我下载了源代码,方法不在那里。 然而,去他们的SVN和检查类的代码,我们可以看到在那里的方法: https://svn.apache.org/repos/asf/poi/trunk/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFWorkbook.java 我已经尝试重新编译他们的代码,但我得到了很多错误…