gpt4 book ai didi

linux - 在 linux 中使用过滤器将 csv 转换为 excel 工作表

转载 作者:太空狗 更新时间:2023-10-29 12:29:39 26 4
gpt4 key购买 nike

目前我正在 bash 脚本中从 sql 生成一个 csv 文件。然后我将它通过电子邮件发送给其他人。我被要求在通过电子邮件发送之前向文件添加自动过滤器(一个 excel 概念)。我希望能够在没有人工交互的情况下在 bash 脚本中执行此操作。到目前为止,谷歌搜索/stackoverflowing 我还没有找到一种方法来做到这一点。

最佳答案

CSV 无法应用自动筛选。 Excel 可读且能够应用自动筛选的最简单格式是 Excel 2003 SpreadsheetML。参见 https://msdn.microsoft.com/en-us/library/bb226687%28v=office.11%29.aspxhttps://msdn.microsoft.com/en-us/library/bb226693%28v=office.11%29.aspx

这也是纯文本,因此可以通过 bash 脚本创建。

AutoFilter 的简单示例:

<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>

<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">

<Worksheet ss:Name="Sheet1">

<Table>
<Row>
<Cell><Data ss:Type="String">name</Data></Cell>
<Cell><Data ss:Type="String">value</Data></Cell>
</Row>
<Row>
<Cell><Data ss:Type="String">a</Data></Cell>
<Cell><Data ss:Type="Number">1</Data></Cell>
</Row>
<Row>
<Cell><Data ss:Type="String">a</Data></Cell>
<Cell><Data ss:Type="Number">2</Data></Cell>
</Row>
<Row>
<Cell><Data ss:Type="String">b</Data></Cell>
<Cell><Data ss:Type="Number">1</Data></Cell>
</Row>
<Row>
<Cell><Data ss:Type="String">b</Data></Cell>
<Cell><Data ss:Type="Number">2</Data></Cell>
</Row>
<Row>
<Cell><Data ss:Type="String">c</Data></Cell>
<Cell><Data ss:Type="Number">1</Data></Cell>
</Row>
<Row>
<Cell><Data ss:Type="String">c</Data></Cell>
<Cell><Data ss:Type="Number">2</Data></Cell>
</Row>
</Table>

<AutoFilter x:Range="R1C1:R7C2" xmlns="urn:schemas-microsoft-com:office:excel">
</AutoFilter>

</Worksheet>

</Workbook>

另一种可能性是,bash 脚本可以调用可以创建真正的 XLSXLSX 文件的软件。

关于linux - 在 linux 中使用过滤器将 csv 转换为 excel 工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31539897/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com