C#-Excel-如何在自动过滤后删除可见行?
我正在使用一个小命令行工具来从Excel表中提取一些数据. 我想删除应用自动滤波器后可见的所有行. 不幸的是,我只是不知道如何继续. 搜索后,我找不到工作答案. 这是我到目前为止的: oXL = new Excel.Application(); oXL.Visible = false; oWB = oXL.Workbooks.Open(source); oXS = (Excel.Worksheet)oWB.Sheets[1]; Excel.Range filter = oXS.UsedRange; filter.AutoFilter(8, "text to filter"); 如何删除过滤后显示的所有行? 谢谢. Crowland 解决方案 Excel.Range filter = XlSheet_1.UsedRange; filter.A
12 2024-04-25
编程技术问答社区
如何在VSTO C# Excel 2013插件中把Publisher从无更新为XYZ?
我使用vs2012 VSTO创建了一个Excel 2013加载项项目. 我已经将发布者名称设置为xxxxxxx-xxxxxx-xxxx inc..我还添加了我公司的数字签名,其中具有相同发行器名称的数字签名到xxxxxxxx-xxxxxxxxxx inc. 在安装时,我总是会得到发布者名称xxxxxxx-xxxxxx-xxxx inc..但是在安装后,如果我是Open Excel的选项 所以,请指导我如何更新/添加发布者名称.我还更新了发布选项,但在Excels选项中没有得到. 解决方案 我相信VSTO addins是不可能的.请参阅: Saurabh 2014年1月15日上午11:36 不幸的是,仍然不支持在VSTO解决方案的"加载项"对话框中显示发布者名称.发布者名称仅显示com add-ins. 极不可能改变.由于VSTO具有自己的安全/签名,这与传统的COM Addins不同,因此com Addins对话框中的发布者名称没有填充.当您安装加
8 2024-04-24
编程技术问答社区
打开Excel,解析数据?
(替代标题:Excel的ReadAlllines类似物?:加载和操纵Excel数据的最佳方法是什么?) 我想快速破解打开Excel表并执行文本操作.我希望操作能够像ReadAlllines一样工作(我找到了以下问题,但七岁了. 从C ((此外,这是一个历史上重要的问题./p> var fileName = string.Format("{0}\\fileNameHere", Directory.GetCurrentDirectory()); var connectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0; data source={0}; Extended Properties=Excel 8.0;", fileName); var adapter = new OleDbDataAdapter("SELECT * FROM [workSheetNameHere$]", connectionString
4 2024-04-17
编程技术问答社区
Excel 2013-1004 运行时错误 刷新查询表 背景查询:=False
我已经遇到了Excel 2013的问题,当时将查询的可查询设置为false(BackgroundSquery必须为我们的目的设置为False).当提供了返回未返回数据的查询时,1004运行时错误发生时,最常见的原因没有返回数据的原因是没有特定时间范围或特定资源的记录. 我的同事和我本人一直在努力解决这个问题,但还没有找到解决方案,我们还没有找到任何表明Excel如何处理清爽查询表的变化. 一个示例代码,以查看VBA中正在发生的事情: Dim sql As String sql = "SELECT 1 WHERE 1=0" Sheet1.QueryTables(1).sql = sql Sheet1.Activate Sheet1.Range("b11").Select Sheet1.QueryTables(1).Refresh BackgroundQuery:=False 刷新是当我们收到错误时.将其中的条件更改为1
18 2024-04-16
编程技术问答社区
Excel中的CustomTaskPane不会出现在新工作簿中
我已经在Excel 2013中添加了一个CustomTaskPane,该公司可以快速搜索照片.如果用户仅打开/创建一个工作簿,它可以很好地工作.问题是,如果他们打开另一个工作簿或创建一个新工作簿,那么任务窗格就不会出现在出现的新窗口中.它只是放在原始窗口中.我知道这种行为是由于我只是在打开Excel时才初始化小组的事实引起的.我在ActiveWindow事件中添加了一个事件处理程序,以便在开设另一个工作簿时初始化一个新面板. 问题是我无法弄清楚如何判断窗口中是否已经存在fastertaskpane.如果是这样,它简单地创建了另一个CustomTaskPane,因此现在该窗口中有两个.我编写了以下代码来处理原始代码并创建一个新代码,但是它引入了一些滞后(1-5秒),这些滞后会使用户每次更改工作簿窗口时都疯狂.是否有一种方法可以查看窗口中是否已经存在常规范围,以避免处置和重新创建新的窗口以避免堆叠重复的任务窗格? Microsoft.Office.Tools.CustomTask
22 2024-04-12
编程技术问答社区
xlwings Workbook()调用返回AttributeError。Open.Application
希望您能帮助我,我问自己的第一个问题,但我总是对我在这里找到的专业答案印象深刻! 我正在使用XLWINGS来读取和写入.xls文件的数据.我不是经验丰富的程序员,我犯了错误.不时,这意味着重新启动过程,python等. 一次又一次,我会在调用Workbook()时得到以下AttributeError.真正的问题不是我不知道正在发生的事情(我尝试阅读模块诊断引用的错误,而是写在我的技能上的python上),但是该重新启动甚至重新启动(!)我的笔记本电脑不(总是)解决问题. 我希望我可以提供一些有关正在发生的事情的线索,但是这似乎是一个随机发生的问题,现在,三次重新启动和几个重新启动没有修复它. Google也无能为力.到现在为止,我必须运行一百次我的程序,这并不总是一个问题!错误消息,只需调用Workbook(): wb = Workbook() Traceback (most recent call last): File "
16 2024-03-18
编程技术问答社区
Excel。某些行内的动态范围+数据验证更新
我在这里拥有的是我的大数据集的一小部分,其中有很多下拉折扣和功能正在计算周围的所有内容.我只是超出了这张桌子,试图比以前更自动地使其更自动,但是我坚持使用绿色的那部分. 当我想在右侧(右表)上添加一些新单元格时,哪个功能可能是合适的稍后填充),但要自动识别它在左下拉下拉参考单元(模型)上? 我将还有一些其他将经常更新的工作簿,从该工作簿中,我必须查找所有"新事物"的内容,并以某些顺序填充它,就像这两个小示例一样. . 到现在为止,我设法找到了偏移和索引功能: =OFFSET(Sheet1!$B$1;1;0;COUNTA(Sheet1!$B:$B)-1;2) or `=$A$2:INDEX($A:$A,COUNTA($A:$A))` ..但是它无效.我的数据集(T和U列)不是从顶部行开始,而是从中间的某个地方开始(其他数据是之前和之后),这给了我麻烦,尤其是当我包括新行... 希望我对问题很清楚. 解决方案 好吧,您不必使用完整的列范围. 对于第一个
6 2024-03-04
编程技术问答社区
Apache POI 3.x-逻辑公式导致#VALUE! (错误)仅在MS Excel 2010中出现
我已经开发了一个使用Apache POI 3.9创建XLS文件的代码. 该纸具有两个仅包含布尔值的列,如下所示: 生成的XLS文件是使用葡萄牙语(PT-BR)的MS Excel 2010打开的,因此将Verdadeiro视为真实,而Falso为false.第三列包含公式INT(AND(L2,NOT(M2))) 每行的不同参考L2和M2.该公式是一个逻辑表达式,其结果转换为整数.但是,当使用MS Excel 2010打开文件时,公式会导致错误(由#Value表示!).我已经使用OpenOffice Calc,Libreoffice Calc和MS Excel 2011测试了同一文件,并且对它们俩都效果很好. 当我按F2时,错误消失了,并且显示了正确的值,然后点击每个单元格. 解决方案 我更改了围绕函数调用的括号的公式NOT(M2) INT(AND(L2,NOT(M2))) =====> INT(AND(L2,(NOT(M2))))解决了问题.
6 2024-02-29
编程技术问答社区
从Redshift提取数据
我们想将数据从RedShift数据库提取到SQL Server.当前,我们正在使用SQL Workbench分析红移数据库.我们转介以下链接 - 在这里我们使用了-RedShiftJDBC41-1.1.1.17.1017要连接的驱动程序. 现在,我们想将这些数据推向SQL Server 2016中的DWH. 那么,完成此操作的最佳方法是什么?关于如何从红移中获取数据的网络没有太多信息. 我们可以在SSDT/SSIS2015中使用SSIS组件或其他内容来加载此数据吗? ,或者我们可以拥有任何工具(任何ETL工具或Excel)的中间层,该工具将将此红移数据转移到CSV中,或者在SSIS中可以阅读的内容? 解决方案 可以提取来自亚马逊红移的数据,因此可以加载到几乎任何平台中. 您有几种将数据从RedShift移至SQL Server的选项. ETL工具 - 您可以使用商业ETL工具. SSI是一个 从红移中提取并降落的完全合法的方式 SQL Serv
16 2024-01-26
编程技术问答社区
ActiveX按钮重命名
首先,我知道ActiveX控件和2014年12月Excel更新几乎普遍存在的问题.这似乎与常见症状不同,但可能是相关的. 症状: 打开一个包含ActiveX控件的现有Excel表. 单击按钮,什么也不会发生(宏不启动) 调查表明,按钮名称已从" btnmacrolaunch"更改为" commandbutton3" 我在其他用户机器上打开文件,并且该按钮尚未重命名,并且可以正常工作. 环境: 最后一次保存在另一台用户机器而不是我的床单上.当我使用ActiveX保存新的电子表格时,这不会发生. 如果另一个用户打开并执行我创建的表格,然后保存该表,当我再次打开时,该按钮会重命名 自2014年12月中旬以来,这一直是一个问题(大约). - 这就是为什么我认为它与Common ActiveX问题有关. 我的大多数办公室同事(我认为除了我以外的所有人)在12月进行了DEC更新.我们的IT部门无意中关闭了我的更新.我所有的同事还进行了删除"
16 2024-01-10
编程技术问答社区
Excel 2013的VBA错误
我正在遵循以下错误. Compile error: The code in this project must be updated for use on 64-bit systems. VBA代码 Option Explicit Private Declare Function URLDownloadToFile Lib "urlmon" _ Alias "URLDownloadToFileA" (ByVal pCaller As Long, _ ByVal szURL As String, ByVal szFileName As String, _ ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long Dim Ret As Long '~~> This is where the images will be saved. Change as applicable Const FolderName As S
4 2024-01-08
编程技术问答社区
如何打开和查看Excel文件的XML结构?
我想打开excel文件的路径xl \ worksheets \ sheet1.xml. 当我Google如何执行此操作时,一篇文章要求我将Excel文件重命名为.zip,然后解压缩文件并查看结构. 但是,即使我拉链并解压缩了Excel文件,我在提取的文件中也找不到任何此类XML文件.我单独找到.xlsx文件. 更新: 根据提供的答案,我将Excel文件重命名为.zip,而实际上没有将其删除. 然后,我下载了7-ZIP软件,该软件提供了一个选项,可以在右键单击时打开.zip文件.我现在可以在7 ZIP中看到Excel文件的XML结构. 解决方案 根据提供的答案和评论,我将Excel文件重命名为.zip,而实际上没有将其删除. 然后,我下载了7-ZIP软件,该软件提供了一个选项,可以在右键单击时打开.zip文件.我现在可以在7 ZIP中看到Excel文件的XML结构. 感谢您帮助我! 其他解决方案 您只需要将文件从.xlsx重命名为.zip(而不
8 2023-12-21
编程技术问答社区
数据表的数据列ColumnName没有显示出来
我是VSTO的新手,并且正在遇到一个我似乎无法弄清楚的问题.我正在尝试在Excel 2013中显示一个简单的表,除了列显示名称为" Column1,Column2,Column3". 这是我的代码: var worksheet = Globals.Sheet1; worksheet.Cells.Clear(); var table = new DataTable("Users"); // Set Columns var columns = new List { new DataColumn("Staged") { ColumnName = "Staged", Caption = "Staged"}, new DataColumn("FirstName") { ColumnName = "First Name"
20 2023-11-25
编程技术问答社区
Excel自定义任务窗格不显示
我正在在Excel VSTO加载项中显示自定义任务窗格,我正在构建并显示出来: : var ctrl = new CellTaskPane(); var pane = CustomTaskPanes.Add(ctrl, "Custom Sheet"); pane.DockPosition = Office.MsoCTPDockPosition.msoCTPDockPositionRight; pane.DockPositionRestrict = Office.MsoCTPDockPositionRestrict.msoCTPDockPositionRestrictNoChange; pane.Visible = true; 这是在ThisAddin.cs文件中完成的,在我的计算会话下以及通过Click-once安装程序安装的加载项下,它在我的计算机上正常工作. 但是,在同事的计算机上安装加载项很麻烦. 加载项正在运行,上下文菜单/功能区正常工作,但是窗格只是拒绝
48 2023-11-25
编程技术问答社区
从符合查找条件的行中查找每列的第一个非空白单元格,以合并重复的匹配。
我有一个电子表格,该电子表格是来自多个来源的联合联系人列表,具有不同程度的完整性.一些联系人多次提供了他们的信息,但每次都会使不同的字段空白.我希望通过组合行填充空白值,至少要删除一些重复项. 这是我的数据的简化示例 id email phone company job title 01 johnsmith@example.com 5550123 acme inc 01 johnsmith@example.com acme inc CEO 02 janedoe@gmail.com XYZ Co 02 5555555 03 frank@school.edu 03 frank@school.edu school 03 frank
18 2023-11-25
编程技术问答社区
在Excel VBA中使用索引和匹配的VLookup函数
我有一个经常使用VLookup的Excel公式.它具有嵌入式Index/Match,在" M"列中给出了最后一个数字值. 工作表公式是: =VLOOKUP(INDEX($M$10:$M75,MATCH(9.99999999999999E+307,$M$10:$M75)),Data,4) cell $M75是该公式所在的行的单元格.列中有数字,非数字和空白单元格,但我想要的ID始终是数字. 所以我试图编写一个自定义功能,让我简单地写=current() 这是我拥有的: Function Current() Dim LookupRange As Variant Dim indexVar As Variant LookupRange = Range("$M$1:M" & ActiveCell.Row) indexVar = Application.Index(Range(LookupRange), Application.Match(9.99999
22 2023-11-25
编程技术问答社区
搜索列中的连续值并将三个不同的值返回给其他单元格
我有一系列列.一个包含一个数据点的时间戳,下一个是数据点,以下是该数据点从十进制到二进制的转换,其余的列是二进制字符串分为每个位.每一列都有一个标题:"无引擎速度","发动机重量",依此类推. 这是我想做的,但没有VBA/Excel的技能.我正在尝试获取所有这些信息,并将其放入对读者更友好的东西中. 所以,例如: 会给我这个: 描述来自列标题,时间范围启动/结束将来自第一列.错误代码我会根据描述列的内容使用Excel IF函数或某种vl​​ookup函数.我需要的是VBA代码或一组Excel功能,它将根据这些位列的内容为我填充这些描述和时间戳列. 我如何设想它的工作方式如下:搜索每个位列,如果找到一个1,并且在其下方的四个单元格中也是第一个1和Final 1的日期邮票,则是1S.在我创建的更可读的报告中开始/结束时间.除此之外,将列标题复制到描述字段. 我只想连续五个或更多1次获得时间戳记的原因是,我想在状态被认为是"事件"之前通过一些时间通过.我想遇到的第二个条
10 2023-11-17
编程技术问答社区
添加数字直到达到数值
我想在一个单元格中具有一个阈值(A1),并将其作为添加单元格的参考. 假设我有 a1- 10 A2-4 A3-2 A4-3 A5-4 A6-6 我想基于A1(阈值)添加单元格. 由于A1为10,应添加来自A6:A5的细胞 - 结果:10 如果A1为6,则应返回单元格 - 结果:6 如果A1为16,则应添加来自A6的单元格 - 结果:19 没有VBA,这是否可以?我可以与总和吗? 解决方案 我添加了一些进度SUM使用ROW和OFFSET的操作.请注意,我已修改并添加到您的示例数据中以获得更彻底的结果. c2中的SUM公式为=SUM(OFFSET($A$2,0,0,MAX(INDEX((SUBTOTAL(9,OFFSET($A$2, 0,0,ROW(1:99),1))
22 2023-11-17
编程技术问答社区
使用Excel-VBA在多行中分割单元格值,并在下一列中串联这些值,且格式不变的更好方法
这是我的Excel表的视图: 文档概述: 它的多个列可能会根据需求而有所不同.文件ID和文档版本始终在每个表中可用,但是列的名称(ex; doc ID或ID/id/doc版本或DOC#)和列( ex;列G&H/列J&K)可能会有所不同. 在这种情况下,文档ID-列C和文档版本-D列D可能包含每个单元格中的多个值. 文档ID始终具有9位数字(如果ID没有足够的数字,则填充了尾随的零).前任; 000 987094,123456100,234567899, 0 23456789等. 文档版本的固定格式始终为" 0.0"或" 00.0",ex; 1.0、23.0、2.1等 到目前为止我所做的事情的描述: i使用vba宏将包含多个值(ID和相关版本,在上传图像中突出显示)的单元格分为它们下方的行.之后,我通过手动插入新的列,然后使用另一个宏来连接将拆分值串联到下一列中. 这是我运行宏之后的输出: 宏: Sub SplitCellValue
6 2023-11-17
编程技术问答社区
如何在另一列中重复每一行的所有列值
我有一个具有两个列的表: Height Width 400 200 500 300 600 400 700 800 ... 并需要在其旁边创建第二个表,以重复宽度列中每个值的整个列高,同时复制,以基本上获取所有可能的组合: Height Width 400 200 500 200 600 200 700 200 800 200 400 300 500 300 600 300 700 300 800 300 解决方案 我想到的最简单的方法是运行嵌套循环.您可能需要根据表的结构来修改以下代码,但这应该使您前进. Sub loops() Dim n_height, n_width, c As Integer With ThisWorkbook.Sheets("Sheet1") n_height = .Cells(Rows.Count, 1).End(xlUp).Row 'Assumi
20 2023-11-17
编程技术问答社区