【发布时间】:2022-12-04 06:59:33
【问题描述】:
你好,提前谢谢你。
我正在尝试从 Excel 文件中复制不相邻的特定数据列,包括它们的标题,并最终将它们写入 csv。
什么是最好的方法?
我看到了关于变量、循环和列表的建议。
【问题讨论】:
你好,提前谢谢你。
我正在尝试从 Excel 文件中复制不相邻的特定数据列,包括它们的标题,并最终将它们写入 csv。
什么是最好的方法?
我看到了关于变量、循环和列表的建议。
【问题讨论】:
您可以使用 SQL 来获得您想要的结果。
您可以使用 excel 电子表格,如 Ace SQL 表(Access 数据库)
见Run Sql Queries in Power Automate Desktop
复制'代码'并将其粘贴到 Power Automate Desktop 中。 您将必须修复显示的与文件路径相关的错误。
SET Excel_File_Path TO $'''H:\Temp\SOAnswer.xlsx'''
SET csvFilePath TO $'''H:\Temp\SOAnswer.csv'''
Database.Connect ConnectionString: $'''Provider=Microsoft.ACE.OLEDB.12.0;Data Source=%Excel_File_Path%;Extended Properties="Excel 12.0 Xml;HDR=YES";''' Connection=> SQLConnection
Database.ExecuteSqlStatement.ConnectAndExecute ConnectionString: SQLConnection Statement: $'''SELECT [Value] & ', ' & [Check] & ', ' & [Additional Data] as CSV
FROM [List1$]''' Timeout: 30 Result=> QueryResult
Database.Close Connection: SQLConnection
Variables.CreateNewList List=> HeadersList
Variables.AddItemToList Item: $'''Value, Check, Additional Data''' List: HeadersList
File.WriteToCSVFile.WriteCSV VariableToWrite: HeadersList CSVFile: csvFilePath CsvFileEncoding: File.CSVEncoding.UTF8 IncludeColumnNames: False IfFileExists: File.IfFileExists.Append ColumnsSeparator: File.CSVColumnsSeparator.SystemDefault
File.WriteToCSVFile.WriteCSV VariableToWrite: QueryResult CSVFile: csvFilePath CsvFileEncoding: File.CSVEncoding.UTF8 IncludeColumnNames: False IfFileExists: File.IfFileExists.Append ColumnsSeparator: File.CSVColumnsSeparator.SystemDefault
# Clean up the "" at the beginning and end of each line
File.ReadTextFromFile.ReadText File: csvFilePath Encoding: File.TextFileEncoding.UTF8 Content=> csvFileContents
Text.Replace Text: csvFileContents TextToFind: $'''"''' IsRegEx: False IgnoreCase: False ReplaceWith: $'''%''%''' ActivateEscapeSequences: False Result=> csvFileContents
File.WriteText File: csvFilePath TextToWrite: csvFileContents AppendNewLine: True IfFileExists: File.IfFileExists.Overwrite Encoding: File.FileEncoding.Unicode
它最终应该看起来像这样。
来自 excel 的虚拟数据看起来像这样。
结果。
请记住,用于此的 SQL 是 Access SQL 风格的,因此您不会拥有 MS SQL Server 查询的所有功能,但它肯定胜过必须运行多个列表提取并循环遍历它们。
【讨论】: