使用XSLT从Excel中检索数据

我有一个excel如下,其中第5行的标题数据。 编辑: inputexcel也可能出现如下。 数据可能出现在任何列中。 数据必须使用行标题广告名称,UID和Status.It不会更改。 然后将其保存为工作簿xml,如下所示 <?xml version="1.0"?> <Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40"> <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office"> <Author>Jefferson D</Author> <LastAuthor>Jefferson D</LastAuthor> <Created>2015-10-29T17:10:31Z</Created> <LastSaved>2015-10-29T17:15:02Z</LastSaved> <Company>*CL</Company> <Version>12.0</Version> </DocumentProperties> <OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office"> <AllowPNG/> </OfficeDocumentSettings> <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel"> <WindowHeight>22060</WindowHeight> <WindowWidth>34400</WindowWidth> <WindowTopX>-20</WindowTopX> <WindowTopY>-20</WindowTopY> <Date1904/> <ProtectStructure>False</ProtectStructure> <ProtectWindows>False</ProtectWindows> </ExcelWorkbook> <Styles> <Style ss:ID="Default" ss:Name="Normal"> <Alignment ss:Vertical="Bottom"/> <Borders/> <Font ss:FontName="Verdana"/> <Interior/> <NumberFormat/> <Protection/> </Style> <Style ss:ID="s16"> <Font […]

定义dynamic单元格范围

我正在使用APACHE POI进行条件格式化。 我得到的txt文件作为input,我把它转换成工作表,然后执行条件格式。 现在,第一列和标题是我不会做任何格式的文本。 我必须对其他单元格执行条件格式化,比如B2:I10(但是它会不断变化)。我怎样才能dynamic地定义单元格范围。 目前,我有 CellRangeAddress[] my_data_range = {CellRangeAddress.valueOf("B2:I10")}; my_cond_format_layer.addConditionalFormatting(my_data_range,my_rule1) 我将如何dynamic定义my_data_range,并保留第一列和第一行。

IF,Else,ElseIF在一定的date内循环

我想设置下面的条件,但我只能得到2条件完成 三个条件是不足七天的一个数值乘以一个数值,两个数据之间的范围乘以一个数值,超过30天乘以另一个数值。 无法让所有人都能工作 不知道出了什么问题 ' To create the following condition 'If less than 7 days interest = 0% ' if 8 to 30 days interest = 7% 'if more than 31 days interest = 9% Sub Workbook_Open() For i = 1 To 3 'Rows.Count xdate = Cells(i, 1) nulldate = DateAdd("d", -7, Date) irate7late = […]

打开只读工作簿进行编辑

我试图自动更新服务器上的文件,只读为每个人都可以访问。 编辑只为less数人使用。 因此,它是密码保护,但只用于编辑,而不是开放。 我试图写一个macros来打开一个密码保护的文件,但只适用于打开文件的保护。 我尝试了下面的代码,因为别人认为它可能有助于展示广告和/或忽略,但这并没有帮助。 我不断得到一个popup窗口,说:“input密码写访问,或打开只读”。 我甚至试过SendKeysinput密码,但比popup式显示太。 任何我可能没有的build议? Application.DisplayAlerts = False Workbooks.Open Filename:="test.xlsx", IgnoreReadOnlyRecommended:=True, Password:="password", ReadOnly:=False Application.DisplayAlerts = True

select透视列的第一项

我正在开发一个代码,以将绝对值的数据透视表转换为索引。 Private Sub Index_Change() Dim p As PivotTable Dim f As PivotField Set p = Sheets("1").PivotTables("2") With p.PivotFields("Sum of 1") .Calculation = xlPercentOf .BaseItem = "" .NumberFormat = "0,00%" End With End Sub 我正在寻找一种方法来select枢轴列的第一个单元格作为.BaseItem 。

删除没有特定文字的表单

在Excel中,我需要删除所有不以(2)结尾的表单, 下面的代码正确地删除了那些以(2)结束的代码,我只是不确定如何反转这个,'不喜欢'似乎不工作 Dim ws As Worksheet For Each ws In ThisWorkbook.Sheets If ws.Name Like "*" & "(2)" Then '~~> This check is required to ensure that you don't get an error '~~> if there is only one sheet left and it matches the delete criteria If ThisWorkbook.Sheets.Count = 1 Then MsgBox "There is only one […]

有没有更好的方法给用户一个string的select?

我正在使用VBA处理一堆数据。 由于数据不干净,偶尔我需要让用户手动select哪个是正确的。 如果可以,请尽量避免使用用户表单。 (尽pipe如果这是最好的方式将做到这一点)。 这是我到目前为止: Sub string_choice() Dim msgValue msgValue = MsgBox("Hello, which is correct? Choose:" _ & vbCr & "Yes: if you want option A" _ & vbCr & "No: if you want option B" _ , vbYesNoCancel + vbQuestion) If msgValue = vbYes Then MsgBox "You chose option A" ElseIf msgValue = vbNo […]

比较和突出显示时间值

我正在parsing和分析大型数据集,并试图突出显示共享同一时间的行。 这是一个较大的macros的一小部分,是目前唯一不工作(其余的工作相当好!)我试图比较每一次的时间前,它之后,以捕获所有事件。 如果我只比较以前的时间,或者比较之后的时间,那么你可能会看到这将会错过很多的价值。 码: 'Hightlights trade structures via time Do DoEvents row_number = row_number + 1 'row_color_tester is a proxy for testing trade time "structure principle" row_color_tester = row_number tradeTime = ActiveSheet.Range("B" & row_number) If tradeTime = Range("B" & (row_color_tester + 1)) Or tradeTime = Range("B" & (row_color_tester – 1)) Then ActiveCell.EntireRow.Interior.ColorIndex = 8 End […]

IF如何评估date是否在两个date之间?

更新 :K列的内容实际上并未被格式化为数字。 鉴于: F_____列K_____Column M 2015年3月1日_____ 1个____________ 2015年2月1日 2015年2月1日_____ 2 ____________ 2015年3月1日 2015年2月1日_____ 3 ____________ 2015年4月1日 其中列F和M格式化为date,K为数字格式。 F列没有sorting,M列是。 每个date都是本月的第一天。 我想填充列N,使得每行将列K中的元素相加,列F中的对应值在列M的月份中。 尝试: SUMIF($ F $ 2:$ F $ 12500,和(“> =”&M2,“<”&M3),$ K $ 2:$ K $ 12500) 全面获得零。 评估第2列第M列和第1列第F列是否相等,得出TRUE。 这是怎么回事?

如何将多个variables从Excel文件传递到batch file

我目前能够从我的Excel文件传递一个参数到我的batch file使用以下内容: filepath = "C:\Users\agaron\Desktop\batchmaster\batchfiles\batchfiletest.bat " & month 接着调用一个shell命令: Call Shell(filepath, vbNormalFocus) 这工作正常。 但是,我现在需要通过不只一个,但使用上述方法18个参数。 我尝试使用&连接&但似乎batch file将所有参数识别为单个文件。 我怎样才能将更多的参数从Excel传递到batch file?