#excel #xlsx #string-formatting #api-bindings

xlsxwriter

使用数字、公式、字符串、格式、自动筛选、合并单元格、数据验证等功能写入 xlsx 文件

12 个版本

0.6.1 2024年6月22日
0.6.0 2023年4月11日
0.5.0 2022年11月13日
0.3.5 2021年7月13日
0.2.0 2019年11月19日

#95编码

Download history 5667/week @ 2024-05-03 7000/week @ 2024-05-10 7398/week @ 2024-05-17 5546/week @ 2024-05-24 7156/week @ 2024-05-31 5978/week @ 2024-06-07 5719/week @ 2024-06-14 6725/week @ 2024-06-21 4963/week @ 2024-06-28 5926/week @ 2024-07-05 5580/week @ 2024-07-12 4922/week @ 2024-07-19 5046/week @ 2024-07-26 5042/week @ 2024-08-02 5219/week @ 2024-08-09 4876/week @ 2024-08-16

21,130 每月下载量
16 包中使用 (13 个直接使用)

Apache-2.0

2.5MB
47K SLoC

C 40K SLoC // 0.2% comments Rust 5.5K SLoC // 0.0% comments Bitbake 526 SLoC Shell 431 SLoC // 0.2% comments Zig 282 SLoC // 0.1% comments Perl 236 SLoC // 0.2% comments C++ 63 SLoC // 0.1% comments Swift 37 SLoC Automake 33 SLoC

xlsxwriter-rs

Build GitHub GitHub top language Crates.io Docs.rs

Rust 的 libxlsxwriter 绑定

支持的功能

  • 100% 兼容 Excel XLSX 文件。
  • 完整的 Excel 格式化。
  • 合并单元格。
  • 自动筛选。
  • 数据验证和下拉列表。
  • 工作表 PNG/JPEG 图片。

即将推出

  • 图表。

特性标志

  • no-md5: 禁用图像去重和移除 md5 函数。 (参见 上游文档 了解更多信息)。
  • use-openssl-md5: 使用 OpenSSL 实现的 md5 函数。 (参见 上游文档 了解更多信息)。
  • system-zlib: 使用系统 zlib 而不是包含的 zlib。

构建要求

  • LLVM 和 clang

如何在 Windows 上构建

  1. 安装 Visual Studio
  2. 安装 LLVM
  3. 设置环境变量 LIBCLANG_PATHC:\Program Files\LLVM\bin
  4. 运行构建

示例

Result Image

let workbook = Workbook::new("simple1.xlsx")?;

let mut sheet1 = workbook.add_worksheet(None)?;
sheet1.write_string(0, 0, "Red text", Some(&Format::new().set_font_color(FormatColor::Red)))?;
sheet1.write_number(0, 1, 20., None)?;
sheet1.write_formula_num(1, 0, "=10+B1", None, 30.)?;
sheet1.write_url(
    1,
    1,
    "https://github.com/informationsea/xlsxwriter-rs",
    Some(&Format::new().set_font_color(FormatColor::Blue).set_underline(FormatUnderline::Single)),
)?;
sheet1.merge_range(2, 0, 3, 2, "Hello, world", Some(
    &Format::new().set_font_color(FormatColor::Green).set_align(FormatAlignment::CenterAcross)
                  .set_vertical_align(FormatVerticalAlignment::VerticalCenter)))?;

sheet1.set_selection(1, 0, 1, 2);
sheet1.set_tab_color(FormatColor::Cyan);
workbook.close()?;

使用 Cargo 运行示例

您可以通过以下步骤在本地探索此示例

  1. 如果您使用 Windows,请安装 LLVM 并设置 LIBCLANG_PATH。 (有关详细信息,请参阅 bindgen 文档)
  2. 克隆或分叉此存储库
  3. gitsubmodule update --init --recursive
    • 上述命令下载所需的 C 库,以便我们可以编译
  4. cargorun --examplehello_spreadsheet

您应该在 target/simple1.xlsx 中看到示例。祝您玩得开心!

依赖项