Tag: 工作表

无法使用EPPLUS复制包含图表的工作表

我试图复制包含图表的工作表,但是当我尝试这样做时,我的代码激发了“与指定的id的包关系不存在的源部分”exception,这是什么原因呢? *如果我从模板中删除图表,一切工作正常。 这是我的代码: public void GenerateFromTemplate(DirectoryInfo outputPath, FileInfo templateFile, string newFileName, List<Dictionary<string, string>> cellDataList) { try { using (ExcelPackage p = new ExcelPackage(templateFile, true)) { bool first = true; foreach (Dictionary<string, string> cellData in cellDataList) { Logger.LogInfo("Adding new Sheet…"); ExcelWorksheet currentWorkSheet; if (first) { currentWorkSheet = p.Workbook.Worksheets[1]; first = false; } else { currentWorkSheet = […]

comexceptionHRESULT:0x800A03EC

我写复制表的ac#程序。 当我调用WorkSheet.Copy方法直到105次时,我得到exception错误(0x800A03EC)。 这是我的代码片段:使用Microsoft.Office.Interop.Excel; private void CreateSheet(string dst_fileName) { object cell1 = "A2"; ApplicationClass app = null; Workbook book = null; Worksheet sheet = null; Worksheet sheet_to_copy = null; int i=0; try { app = new ApplicationClass(); app.Visible = false; app.ScreenUpdating = false; app.DisplayAlerts = false; book = app.Workbooks.Open(dst_fileName, 0, false, 5, "", "", true, XlPlatform.xlWindows, […]

VBA:提取列直到空,重复在下一张表

亲爱的堆栈溢出群。 在“Prodcuts.xlmx”文件中,我在工作表“Contract1”的A列中有数千个数值。 相同的文件包含名称为“Contract2”等几个其他类似的工作表。 每个工作表中的行数会发生变化,并且随着时间的推移,可能会在同一个工作表中更改,但它们后面总是跟着空行。 工作表的数量是静态的 我需要从这些工作表收集信息到第二个文件到一个单一的工作表,让我们称之为“产品列表”的格式,其中列A包含重复的工作表名称,列B的数值。 我更喜欢一个提取循环,只是复制这个信息,以避免多个检查的可能的变化。 我不能使用select列复制源,因为在空单元格之后,来了不需要的附加数据集。 总的想法是 获取WS1 Column A的内容,直到空行,复制到“Productlist”列B中 获取WS1 WS名称,复制到“Producist”列A,重复,直到列B没有值(或列B + 1行没有值,以避免额外的一行WS名称) 添加2个空行 重复WS2,直到WSn不存在(或匹配计数)。

使用perl删除工作簿的工作表

您好,我需要删除名为“摘要”,如果它存在于Excel工作簿使用Perl的工作表。 我首先parsingexcel文件的内容为: my $parser = new Spreadsheet::ParseExcel::SaveParser; my $template = $parser->Parse($FileName) or die "$!\n"; $workbook = $template->SaveAs($FileName); 现在,如果这个文件有'摘要'工作表,我需要删除它。 我不能使用Spreadsheet::SimpleExcel因为文件已经作为Spreadsheet::WriteExcel / Spreadsheet::ParseExcel对象打开,处理程序还没有closures文件。 因此,我不能创buildSpreadsheet::SimpleExcel的新对象,并指向此Excel并删除工作表。 有什么办法删除工作表。 我可以在保存工作簿之前删除工作表,如上面的代码所示。

我无法在Excel 2013工作表上添加Microsoft WebBrowser ActiveX控件

我无法在Excel 2013工作表上添加Microsoft WebBrowser ActiveX控件,请帮助。 当我拖动图标到工作表时,显示“无法插入对象”消息。 我应该怎么做 ?

将特定的工作表复制到一个工作簿

我试图从一个文件夹中所有相同的文件复制一个名为“应用程序”的工作表到一个主工作簿中,并将复制的工作表重命名为复制的文件的名称。 到目前为止,我的代码复制一切,我无法得到它重命名复制的工作表到它来自的文件的名称。 谢谢 Sub GetSheets() Application.ScreenUpdating = False Path = "C:\Users\Desktop\Work docs\" Filename = Dir(Path & "*.xls") Do While Filename <> "" Workbooks.Open Filename:=Path & Filename, ReadOnly:=True For Each Sheet In ActiveWorkbook.Sheets If Sheet.Name = "application" Then End If Sheets.Copy After:=ThisWorkbook.Sheets(1) Next Sheet Workbooks(Filename).Close SaveChanges:=False Filename = Dir() Loop Application.ScreenUpdating = True End Sub

运行时错误'1004'对象'_Global'的方法'范围'失败 – dynamic表名,循环,工作表间search

我一直运行到Run-time error '1004' Method 'Range' of object '_Global' failed 。 在一个名为“Receiving”的工作表中,我有一个表(表是工作表中的唯一一个),它具有一个dynamic名称(表名称会随时更改),所以我将名称更改为“invoiceTable”子程序的开始。 基本上,我想遍历invoiceTable的行,并根据表中的数据修改其他工作表中的数据。 invoiceTable中的第一列叫做“Frame”,第五个叫做“Quantity Received”。 我试图通过invoiceTable循环,并根据invoiceTable中列出的框架更新名为“库存pipe理”的工作表中的数据。 对于invoiceTable中的每个框架,我想将'Quantity Received'添加到特定Frame的索引处的'Inventory Management'的列T中。 同样,我想从“单价”标题下的invoiceTable中取值,并使用invoiceTable中每个框架的最近购买价格更新“库存pipe理”列F中的值。 ActiveSheet.ListObjects(1).Name = "invoiceTable" For row = 1 To Range("invoiceTable").Rows.Count If Range("invoiceTable[Frame]")(row).Value <> 0 Then Dim frame As String Dim purchQ As Integer Dim price As Long frame = Range("invoiceTable[Frame]")(row).Value price = Range("invoiceTable[Unit Price]")(row).Value purchQ = Range("invoiceTable[Quantity […]

SSIS Excel导入 – 工作表variables或通配符?

我有一个使用源Excel电子表格的SSIS数据导入包,然后将数据导入到SQL Server数据库表中。 由于Excel文件的工作表名称每天都在更改,因此我未能成功自动执行此过程。 所以,我必须在每天运行导入之前手动更改工作表名称。 作为一个警告,永远不会有任何其他的工作表。 我可以为工作表名称创build一个variables吗? 我可以使用通配符而不是工作表名称吗? 在启动导入作业之前,创build一个Excelmacros还是更改工作表名称会更好吗?

Worksheet_Change事件中的目标范围不正确

我是一个Excel-VBA新手,我想写一小段代码,这个代码是由某个人在工作表中改变单元格的值而触发的。 如果小于零,它应该将更改的单元格的值设置为零。 代码如下所示: Private Sub Worksheet_Change(ByVal Target As Range) 'Debug.Print Target.Address If Target.Column = 6 Then For Each Cell In Target.SpecialCells(xlCellTypeConstants, 3) If Cell.Value < 0 Then Cell.Value = 0 End If Next End If End Sub 现在发生的是,当我改变列6中的任何单元格的值时,包含小于零的数字的表单中的每个单元格也都变为零。 我在想为Worksheet_Change事件处理程序创build的“Target”对象只包含已更改的单元格/单元,因此我的代码只会更改已修改并触发事件的单元格的值。 我试图通过使用Debug.Print输出对象的地址来帮助自己。 它打印出的值小于零的表格中的每个单元格的地址,所以我假设处理程序跑了好几次。 实际上,我发现问题本身的一个解决方法,但我的问题是这样的:我怎么在使用Worksheet_Change事件失败,我可以做什么在未来没有这样的问题?

从列表中删除重复项并使用VBA将结果复制到单独的工作表中

我在这里,因为我需要上述任务的帮助。 在我的学生工作中,我们在电子表格的一列中有一个客户名单,每当我们收到工作订单时,我们都会添加一个名单。 我需要帮助的基本上是把这个列表的一个淘汰版本(不重复)转移到一个不同的电子表格中,这个电子表格有多个条目。 我的老板给了我这份工作,因为在业余时间,我正忙于其他方面的VBA代码,他注意到了。 不幸的是,我并不完全知道如何做到这一点,因为我对这个语言很陌生。 这是我到目前为止(注意它不起作用) http://pastebin.com/E3bKbr24 任何帮助将不胜感激,尤其是如何使这更高效的指针! 我知道C ++,并且我知道双重嵌套的For循环是非常低效的,所以任何build议的方法来提高这个函数的性能将是有益的(特别是因为它会被称为很多)。 再次感谢!