Giter Site home page Giter Site logo

informationsea / xlsxwriter-rs Goto Github PK

View Code? Open in Web Editor NEW
252.0 8.0 44.0 367 KB

Excel file writer for Rust

Home Page: https://crates.io/crates/xlsxwriter

License: Apache License 2.0

Rust 99.71% C 0.02% Dockerfile 0.27%
rust xlsx-files libxlsxwriter xlsxwriter spreadsheet xlsx

xlsxwriter-rs's Introduction

xlsxwriter-rs

Build GitHub GitHub top language Crates.io Docs.rs

Rust binding of libxlsxwriter

Supported Features

  • 100% compatible Excel XLSX files.
  • Full Excel formatting.
  • Merged cells.
  • Autofilters.
  • Data validation and drop down lists.
  • Worksheet PNG/JPEG images.

Coming soon

  • Charts.

Feature Flags

  • no-md5: Disable image de-duplication and remove md5 function. (See upstream document to learn more).
  • use-openssl-md5: Use OpenSSL implementation of md5 function. (See upstream document to learn more).
  • system-zlib: Use system zlib instead of included zlib.

Build requirements

  • LLVM and clang

How to build on windows

  1. Install Visual Studio
  2. Install LLVM
  3. Set environment variable LIBCLANG_PATH as C:\Program Files\LLVM\bin
  4. Run build

Example

Result Image

let workbook = Workbook::new("target/simple1.xlsx")?;
let format1 = workbook.add_format().set_font_color(FormatColor::Red);

let format2 = workbook
    .add_format()
    .set_font_color(FormatColor::Blue)
    .set_underline(FormatUnderline::Single);

let format3 = workbook
    .add_format()
    .set_font_color(FormatColor::Green)
    .set_align(FormatAlignment::CenterAcross)
    .set_align(FormatAlignment::VerticalCenter);

let mut sheet1 = workbook.add_worksheet(None)?;
sheet1.write_string(0, 0, "Red text", Some(&format1))?;
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(&format2),
)?;
sheet1.merge_range(2, 0, 3, 2, "Hello, world", Some(&format3))?;

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

Run Example with Cargo

You can explore this example locally following the steps below:

  1. Install LLVM and set LIBCLANG_PATH if you are using windows. (see bindgen doc for details)
  2. clone or fork this repository
  3. git submodule update --init --recursive
    • The above command downloads the required C library so we can compile
  4. cargo run --example hello_spreadsheet

You should then see the example in target/simple1.xlsx. Enjoy!

xlsxwriter-rs's People

Contributors

2ndderivative avatar adriandelgado avatar birktj avatar crumblingstatue avatar dspicher avatar dvic avatar efx avatar eksea avatar felixmoelder avatar informationsea avatar jubos avatar kenkoooo avatar kindly avatar lethean avatar mulark avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

xlsxwriter-rs's Issues

Linker error: z_errmsg already defined -> Depend on flate2?

I'm trying to include xlsxwriter into a poem rest server with a mysql db to create and serve xslx-reports.

On compilation I get:

  = note: liblibz_sys-b7ca100a7b308d29.rlib(zutil.o) : error LNK2005: z_errmsg ist bereits in liblibxlsxwriter_sys-9b150791908fa04f.rlib(zutil.o) definiert.
          liblibz_sys-b7ca100a7b308d29.rlib(zutil.o) : error LNK2005: zlibVersion ist bereits in liblibxlsxwriter_sys-9b150791908fa04f.rlib(zutil.o) definiert.
          liblibz_sys-b7ca100a7b308d29.rlib(zutil.o) : error LNK2005: zlibCompileFlags ist bereits in liblibxlsxwriter_sys-9b150791908fa04f.rlib(zutil.o) definiert.
          liblibz_sys-b7ca100a7b308d29.rlib(zutil.o) : error LNK2005: zError ist bereits in liblibxlsxwriter_sys-9b150791908fa04f.rlib(zutil.o) definiert.
          C:\Users\local\Desktop\Daten\Programme\project\.\target\debug\deps\project.exe : fatal error LNK1169: Mindestens ein mehrfach definiertes Symbol gefunden.

MySQL seems to depend on zlib aswell and pulls it in via flate2. Do you think you could change this library to depend on flate2 aswell, instead of bringing its own zlib? That could hopefully solve the double depency.

Can't Find stdio.h When Compiling Library

Hi. I'm new to Rust, so please forgive me if this is a simple error. I'm trying to compile the package but I'm getting this error:

cargo:warning=third_party/libxlsxwriter/third_party/tmpfileplus/tmpfileplus.h:
24:10: fatal error: 'stdio.h' file not found
cargo:warning=#include <stdio.h>

I got this error on both Windows (clang with CygWin) and Linux (clang). How can I solve this?

Edit: This also happens on Windows with LLVM/clang. Testing clang with a simple c program that uses stdio.h also works. I suspect this has something to do with Rust not using the include path but I have no idea how to solve it.

Debug trait for format enums

I've noticed the various enums in format.rs do not have the Debug trait derived. Is there a specific reason for this? I can see it is for other enums, e.g. the enums in worksheet.rs.

Happy to try a pull request, just wanted to check first.

What's the prefered way to use this crate under windows

What is the prefered way to use this crate in a custom project, under windows?

I've tryed latest rust MSVC version this way:

First setup and checked latest stable rust...

rustup override set stable-x86_64-pc-windows-msvc
rustc -Vv

Output rust check:

rustc 1.56.1 (59eed8a2a 2021-11-01)
binary: rustc
commit-hash: 59eed8a2aac0230a8b53e89d4e99d55912ba6b35
commit-date: 2021-11-01
host: x86_64-pc-windows-msvc
release: 1.56.1
LLVM version: 13.0.0

Then setup a custom crate the usual way:

cargo new --bin test-xmlxwriter
cd .\test-xmlxwriter\
Add-Content .\Cargo.toml 'xlsxwriter-rs ="*"'
cargo build

This results in that error:

error: failed to run custom build command for `xlsxwriter-rs v0.1.0`

Caused by:
  process didn't exit successfully: `C:\temp\test-xmlxwriter\target\debug\build\xlsxwriter-rs-962004a654e6acf4\build-script-build` (exit code: 101)
  --- stdout
  cargo:rustc-link-lib=xlsxwriter

  --- stderr
  wrapper.h:1:10: fatal error: 'xlsxwriter.h' file not found
  wrapper.h:1:10: fatal error: 'xlsxwriter.h' file not found, err: true
  thread 'main' panicked at 'Unable to generate xlsxwriter bindings: ()', C:\Users\smuel\.cargo\registry\src\github.com-1ecc6299db9ec823\xlsxwriter-rs-0.1.0\build.rs:12:6
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

If build the xlsxwriter-rs crate self all went fine.

git clone https://github.com/informationsea/xlsxwriter-rs.git
cd .\xlsxwriter-rs\
git submodule update --init --recursive
cargo build

What is missing in the above commands for a custom crate?

workbook_new_opt not implemented for libxlsxwriter

For large xslx files is it useful to put constant memory mode on in libxlsxwriter.

To do this you need to call workbook_new_opt instead of workbook_new also passing in the configuration struct.
https://libxlsxwriter.github.io/workbook_8h.html#a8ca9bd8c30c618b81ca6180f78b03323

I imagine in
https://github.com/informationsea/xlsxwriter-rs/blob/master/libxlsxwriter/src/workbook.rs#L28
a new static method new_with_opt would make sense as it mirrors C api. I imagine bindgen has generated the code in libxlsxwriter_sys making bindings for this function and struct, so "in theory" this looks fairly strait foward.

Nonetheless I have no experiance of any C bindings before but will have a go if the approach is considered right. Also would be very happy for someone else to do it if it quick and easy for them.

compile error

LLVM installed as others suggested in another issue.

full output:

❯ cargo run --release
   Compiling fltk-sys v1.1.12
   Compiling libxlsxwriter-sys v1.1.1
   Compiling compare_manufacturing_data v0.1.0 (C:\Users\adrian\adrianery\try_rust\compare_manufacturing_data)
   Compiling sqlx-macros v0.5.7
   Compiling fltk v1.1.12
   Compiling sqlx v0.5.7
error: failed to run custom build command for `libxlsxwriter-sys v1.1.1`

Caused by:
  process didn't exit successfully: `c:\Users\adrian\cargo_target_dir\release\build\libxlsxwriter-sys-a7cffbb0dd908b43\build-script-build` (exit code: 101)
  --- stdout
  TARGET = Some("x86_64-pc-windows-msvc")
  OPT_LEVEL = Some("3")
  HOST = Some("x86_64-pc-windows-msvc")
  CC_x86_64-pc-windows-msvc = None
  CC_x86_64_pc_windows_msvc = None
  HOST_CC = None
  CC = None
  CFLAGS_x86_64-pc-windows-msvc = None
  CFLAGS_x86_64_pc_windows_msvc = None
  HOST_CFLAGS = None
  CFLAGS = None
  CRATE_CC_NO_DEFAULTS = None
  CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2")
  DEBUG = Some("false")
  CC_x86_64-pc-windows-msvc = None
  CC_x86_64_pc_windows_msvc = None
  HOST_CC = None
  CC = None
  CFLAGS_x86_64-pc-windows-msvc = None
  CFLAGS_x86_64_pc_windows_msvc = None
  HOST_CFLAGS = None
  CFLAGS = None
  CRATE_CC_NO_DEFAULTS = None
  CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2")
  CC_x86_64-pc-windows-msvc = None
  CC_x86_64_pc_windows_msvc = None
  HOST_CC = None
  CC = None
  CFLAGS_x86_64-pc-windows-msvc = None
  CFLAGS_x86_64_pc_windows_msvc = None
  HOST_CFLAGS = None
  CFLAGS = None
  CRATE_CC_NO_DEFAULTS = None
  CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2")
  CC_x86_64-pc-windows-msvc = None
  CC_x86_64_pc_windows_msvc = None
  HOST_CC = None
  CC = None
  CFLAGS_x86_64-pc-windows-msvc = None
  CFLAGS_x86_64_pc_windows_msvc = None
  HOST_CFLAGS = None
  CFLAGS = None
  CRATE_CC_NO_DEFAULTS = None
  CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2")
  running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-I" "include" "-W4" "/utf-8" "-Foc:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/third_party/tmpfileplus/tmpfileplus.o" "-c" "third_party/libxlsxwriter/third_party/tmpfileplus/tmpfileplus.c"
  tmpfileplus.c
  third_party/libxlsxwriter/third_party/tmpfileplus/tmpfileplus.c(168): warning C4996: 'getenv': This function or variable may be unsafe. Consider using _dupenv_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
  third_party/libxlsxwriter/third_party/tmpfileplus/tmpfileplus.c(172): warning C4996: 'strncpy': This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
  third_party/libxlsxwriter/third_party/tmpfileplus/tmpfileplus.c(231): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
  third_party/libxlsxwriter/third_party/tmpfileplus/tmpfileplus.c(233): warning C4996: '_open': This function or variable may be unsafe. Consider using _sopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
  third_party/libxlsxwriter/third_party/tmpfileplus/tmpfileplus.c(336): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
  exit code: 0
  running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-I" "include" "-W4" "/utf-8" "-Foc:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/third_party/minizip/ioapi.o" "-c" "third_party/libxlsxwriter/third_party/minizip/ioapi.c"
  ioapi.c
  third_party/libxlsxwriter/third_party/minizip/ioapi.c(235): warning C4131: 'fill_fopen_filefunc': uses old-style declarator
  exit code: 0
  running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-I" "include" "-W4" "/utf-8" "-Foc:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/third_party/minizip/zip.o" "-c" "third_party/libxlsxwriter/third_party/minizip/zip.c"
  zip.c
  exit code: 0
  running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-I" "include" "-W4" "/utf-8" "-Foc:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/src/app.o" "-c" "third_party/libxlsxwriter/src/app.c"
  app.c
  exit code: 0
  running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-I" "include" "-W4" "/utf-8" "-Foc:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/src/chart.o" "-c" "third_party/libxlsxwriter/src/chart.c"
  chart.c
  exit code: 0
  running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-I" "include" "-W4" "/utf-8" "-Foc:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/src/chartsheet.o" "-c" "third_party/libxlsxwriter/src/chartsheet.c"
  chartsheet.c
  exit code: 0
  running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-I" "include" "-W4" "/utf-8" "-Foc:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/src/comment.o" "-c" "third_party/libxlsxwriter/src/comment.c"
  comment.c
  exit code: 0
  running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-I" "include" "-W4" "/utf-8" "-Foc:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/src/content_types.o" "-c" "third_party/libxlsxwriter/src/content_types.c"
  content_types.c
  exit code: 0
  running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-I" "include" "-W4" "/utf-8" "-Foc:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/src/core.o" "-c" "third_party/libxlsxwriter/src/core.c"
  core.c
  third_party/libxlsxwriter/src/core.c(62): warning C4996: 'gmtime': This function or variable may be unsafe. Consider using gmtime_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
  third_party/libxlsxwriter/src/core.c(64): warning C4996: 'gmtime': This function or variable may be unsafe. Consider using gmtime_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
  exit code: 0
  running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-I" "include" "-W4" "/utf-8" "-Foc:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/src/custom.o" "-c" "third_party/libxlsxwriter/src/custom.c"
  custom.c
  exit code: 0
  running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-I" "include" "-W4" "/utf-8" "-Foc:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/src/drawing.o" "-c" "third_party/libxlsxwriter/src/drawing.c"
  drawing.c
  exit code: 0
  running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-I" "include" "-W4" "/utf-8" "-Foc:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/src/format.o" "-c" "third_party/libxlsxwriter/src/format.c"
  format.c
  third_party/libxlsxwriter/src/format.c(173): warning C4996: 'strncpy': This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
  third_party/libxlsxwriter/src/format.c(349): warning C4996: 'strncpy': This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
  third_party/libxlsxwriter/src/format.c(445): warning C4996: 'strncpy': This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
  third_party/libxlsxwriter/src/format.c(743): warning C4996: 'strncpy': This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
  exit code: 0
  running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-I" "include" "-W4" "/utf-8" "-Foc:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/src/hash_table.o" "-c" "third_party/libxlsxwriter/src/hash_table.c"
  hash_table.c
  exit code: 0
  running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-I" "include" "-W4" "/utf-8" "-Foc:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/src/metadata.o" "-c" "third_party/libxlsxwriter/src/metadata.c"
  metadata.c
  exit code: 0
  running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-I" "include" "-W4" "/utf-8" "-Foc:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/src/packager.o" "-c" "third_party/libxlsxwriter/src/packager.c"
  packager.c
  third_party/libxlsxwriter/src/packager.c(1414): warning C4244: '=': conversion from 'int' to 'int16_t', possible loss of data
  third_party/libxlsxwriter/src/packager.c(1436): warning C4244: '=': conversion from 'int' to 'int16_t', possible loss of data
  third_party/libxlsxwriter/src/packager.c(1446): warning C4244: '=': conversion from 'int' to 'int16_t', possible loss of data
  third_party/libxlsxwriter/src/packager.c(1468): warning C4244: '=': conversion from 'int' to 'int16_t', possible loss of data
  third_party/libxlsxwriter/src/packager.c(1476): warning C4244: '=': conversion from 'int' to 'int16_t', possible loss of data
  third_party/libxlsxwriter/src/packager.c(1483): warning C4244: '=': conversion from 'int' to 'int16_t', possible loss of data
  third_party/libxlsxwriter/src/packager.c(1567): warning C4244: '=': conversion from 'int' to 'int8_t', possible loss of data
  exit code: 0
  running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-I" "include" "-W4" "/utf-8" "-Foc:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/src/relationships.o" "-c" "third_party/libxlsxwriter/src/relationships.c"
  relationships.c
  exit code: 0
  running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-I" "include" "-W4" "/utf-8" "-Foc:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/src/shared_strings.o" "-c" "third_party/libxlsxwriter/src/shared_strings.c"
  shared_strings.c
  exit code: 0
  running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-I" "include" "-W4" "/utf-8" "-Foc:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/src/styles.o" "-c" "third_party/libxlsxwriter/src/styles.c"
  styles.c
  exit code: 0
  running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-I" "include" "-W4" "/utf-8" "-Foc:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/src/theme.o" "-c" "third_party/libxlsxwriter/src/theme.c"
  theme.c
  exit code: 0
  running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-I" "include" "-W4" "/utf-8" "-Foc:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/src/utility.o" "-c" "third_party/libxlsxwriter/src/utility.c"
  utility.c
  third_party/libxlsxwriter/src/utility.c(86): warning C4244: '=': conversion from 'int' to 'char', possible loss of data
  third_party/libxlsxwriter/src/utility.c(216): warning C4996: 'strncpy': This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
  third_party/libxlsxwriter/src/utility.c(299): warning C4245: 'return': conversion from 'int' to 'uint32_t', signed/unsigned mismatch
  third_party/libxlsxwriter/src/utility.c(317): warning C4245: 'return': conversion from 'int' to 'uint16_t', signed/unsigned mismatch
  third_party/libxlsxwriter/src/utility.c(444): warning C4244: 'initializing': conversion from 'double' to 'int', possible loss of data
  third_party/libxlsxwriter/src/utility.c(510): warning C4244: '=': conversion from 'int' to 'char', possible loss of data
  third_party/libxlsxwriter/src/utility.c(676): warning C4996: '_wfopen': This function or variable may be unsafe. Consider using _wfopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
  exit code: 0
  running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-I" "include" "-W4" "/utf-8" "-Foc:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/src/vml.o" "-c" "third_party/libxlsxwriter/src/vml.c"
  vml.c
  exit code: 0
  running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-I" "include" "-W4" "/utf-8" "-Foc:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/src/workbook.o" "-c" "third_party/libxlsxwriter/src/workbook.c"
  workbook.c
  third_party/libxlsxwriter/src/workbook.c(1206): warning C4244: '=': conversion from 'uint32_t' to 'uint16_t', possible loss of data
  third_party/libxlsxwriter/src/workbook.c(2154): warning C4996: 'strerror': This function or variable may be unsafe. Consider using strerror_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
  third_party/libxlsxwriter/src/workbook.c(2170): warning C4996: 'strerror': This function or variable may be unsafe. Consider using strerror_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
  third_party/libxlsxwriter/src/workbook.c(2177): warning C4996: 'strerror': This function or variable may be unsafe. Consider using strerror_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
  third_party/libxlsxwriter/src/workbook.c(2184): warning C4996: 'strerror': This function or variable may be unsafe. Consider using strerror_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
  third_party/libxlsxwriter/src/workbook.c(2192): warning C4996: 'strerror': This function or variable may be unsafe. Consider using strerror_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
  third_party/libxlsxwriter/src/workbook.c(2199): warning C4996: 'strerror': This function or variable may be unsafe. Consider using strerror_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
  exit code: 0
  running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-I" "include" "-W4" "/utf-8" "-Foc:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/src/worksheet.o" "-c" "third_party/libxlsxwriter/src/worksheet.c"
  worksheet.c
  third_party/libxlsxwriter/src/worksheet.c(1363): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
  third_party/libxlsxwriter/src/worksheet.c(1364): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
  third_party/libxlsxwriter/src/worksheet.c(1369): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
  third_party/libxlsxwriter/src/worksheet.c(1370): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
  third_party/libxlsxwriter/src/worksheet.c(1375): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
  third_party/libxlsxwriter/src/worksheet.c(2357): warning C4244: 'function': conversion from 'uint32_t' to 'lxw_col_t', possible loss of data
  third_party/libxlsxwriter/src/worksheet.c(2835): warning C4244: '=': conversion from 'double' to 'uint32_t', possible loss of data
  third_party/libxlsxwriter/src/worksheet.c(2836): warning C4244: '=': conversion from 'double' to 'uint32_t', possible loss of data
  third_party/libxlsxwriter/src/worksheet.c(3555): warning C4267: 'function': conversion from 'size_t' to 'unsigned long', possible loss of data
  third_party/libxlsxwriter/src/worksheet.c(3590): warning C4996: 'strncpy': This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
  third_party/libxlsxwriter/src/worksheet.c(3607): warning C4996: 'strncpy': This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
  third_party/libxlsxwriter/src/worksheet.c(7716): warning C4456: declaration of 'col' hides previous local declaration
  third_party/libxlsxwriter/src/worksheet.c(7663): note: see declaration of 'col'
  third_party/libxlsxwriter/src/worksheet.c(9663): warning C4996: 'strncpy': This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
  C:\Users\adrian\.cargo\registry\src\mirrors.sjtug.sjtu.edu.cn-7a04d2510079875b\libxlsxwriter-sys-1.1.1\third_party\libxlsxwriter\src\worksheet.c(8292) : warning C4706: assignment within conditional expression
  C:\Users\adrian\.cargo\registry\src\mirrors.sjtug.sjtu.edu.cn-7a04d2510079875b\libxlsxwriter-sys-1.1.1\third_party\libxlsxwriter\src\worksheet.c(8410) : warning C4706: assignment within conditional expression
  exit code: 0
  running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-I" "include" "-W4" "/utf-8" "-Foc:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/src/xmlwriter.o" "-c" "third_party/libxlsxwriter/src/xmlwriter.c"
  xmlwriter.c
  third_party/libxlsxwriter/src/xmlwriter.c(415): warning C4996: 'strncpy': This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
  third_party/libxlsxwriter/src/xmlwriter.c(416): warning C4996: 'strncpy': This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
  third_party/libxlsxwriter/src/xmlwriter.c(427): warning C4996: 'strncpy': This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
  third_party/libxlsxwriter/src/xmlwriter.c(439): warning C4996: 'strncpy': This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
  exit code: 0
  running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-I" "include" "-W4" "/utf-8" "-Foc:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/zlib/adler32.o" "-c" "third_party/zlib/adler32.c"
  adler32.c
  third_party/zlib/adler32.c(64): warning C4131: 'adler32_z': uses old-style declarator
  third_party/zlib/adler32.c(135): warning C4131: 'adler32': uses old-style declarator
  third_party/zlib/adler32.c(144): warning C4131: 'adler32_combine_': uses old-style declarator
  third_party/zlib/adler32.c(173): warning C4131: 'adler32_combine': uses old-style declarator
  third_party/zlib/adler32.c(181): warning C4131: 'adler32_combine64': uses old-style declarator
  exit code: 0
  running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-I" "include" "-W4" "/utf-8" "-Foc:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/zlib/compress.o" "-c" "third_party/zlib/compress.c"
  compress.c
  third_party/zlib/compress.c(23): warning C4131: 'compress2': uses old-style declarator
  third_party/zlib/compress.c(69): warning C4131: 'compress': uses old-style declarator
  third_party/zlib/compress.c(82): warning C4131: 'compressBound': uses old-style declarator
  exit code: 0
  running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-I" "include" "-W4" "/utf-8" "-Foc:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/zlib/crc32.o" "-c" "third_party/zlib/crc32.c"
  crc32.c
  third_party/zlib/crc32.c(203): warning C4131: 'crc32_z': uses old-style declarator
  third_party/zlib/crc32.c(215): warning C4127: conditional expression is constant
  third_party/zlib/crc32.c(238): warning C4131: 'crc32': uses old-style declarator
  third_party/zlib/crc32.c(267): warning C4131: 'crc32_little': uses old-style declarator
  third_party/zlib/crc32.c(307): warning C4131: 'crc32_big': uses old-style declarator
  third_party/zlib/crc32.c(345): warning C4131: 'gf2_matrix_times': uses old-style declarator
  third_party/zlib/crc32.c(362): warning C4131: 'gf2_matrix_square': uses old-style declarator
  third_party/zlib/crc32.c(373): warning C4131: 'crc32_combine_': uses old-style declarator
  third_party/zlib/crc32.c(429): warning C4131: 'crc32_combine': uses old-style declarator
  third_party/zlib/crc32.c(437): warning C4131: 'crc32_combine64': uses old-style declarator
  exit code: 0
  running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-I" "include" "-W4" "/utf-8" "-Foc:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/zlib/deflate.o" "-c" "third_party/zlib/deflate.c"
  deflate.c
  third_party/zlib/deflate.c(202): warning C4131: 'slide_hash': uses old-style declarator
  third_party/zlib/deflate.c(229): warning C4131: 'deflateInit_': uses old-style declarator
  third_party/zlib/deflate.c(242): warning C4131: 'deflateInit2_': uses old-style declarator
  third_party/zlib/deflate.c(354): warning C4131: 'deflateStateCheck': uses old-style declarator
  third_party/zlib/deflate.c(377): warning C4131: 'deflateSetDictionary': uses old-style declarator
  third_party/zlib/deflate.c(446): warning C4131: 'deflateGetDictionary': uses old-style declarator
  third_party/zlib/deflate.c(468): warning C4131: 'deflateResetKeep': uses old-style declarator
  third_party/zlib/deflate.c(506): warning C4131: 'deflateReset': uses old-style declarator
  third_party/zlib/deflate.c(518): warning C4131: 'deflateSetHeader': uses old-style declarator
  third_party/zlib/deflate.c(529): warning C4131: 'deflatePending': uses old-style declarator
  third_party/zlib/deflate.c(543): warning C4131: 'deflatePrime': uses old-style declarator
  third_party/zlib/deflate.c(569): warning C4131: 'deflateParams': uses old-style declarator
  third_party/zlib/deflate.c(618): warning C4131: 'deflateTune': uses old-style declarator
  third_party/zlib/deflate.c(653): warning C4131: 'deflateBound': uses old-style declarator
  third_party/zlib/deflate.c(717): warning C4131: 'putShortMSB': uses old-style declarator
  third_party/zlib/deflate.c(731): warning C4131: 'flush_pending': uses old-style declarator
  third_party/zlib/deflate.c(764): warning C4131: 'deflate': uses old-style declarator
  third_party/zlib/deflate.c(1077): warning C4131: 'deflateEnd': uses old-style declarator
  third_party/zlib/deflate.c(1103): warning C4131: 'deflateCopy': uses old-style declarator
  third_party/zlib/deflate.c(1165): warning C4131: 'read_buf': uses old-style declarator
  third_party/zlib/deflate.c(1195): warning C4131: 'lm_init': uses old-style declarator
  third_party/zlib/deflate.c(1237): warning C4131: 'longest_match': uses old-style declarator
  third_party/zlib/deflate.c(1483): warning C4131: 'fill_window': uses old-style declarator
  third_party/zlib/deflate.c(1495): warning C4127: conditional expression is constant
  third_party/zlib/deflate.c(1644): warning C4131: 'deflate_stored': uses old-style declarator
  third_party/zlib/deflate.c(1693): warning C4244: '=': conversion from 'unsigned int' to 'Bytef', possible loss of data
  third_party/zlib/deflate.c(1694): warning C4244: '=': conversion from 'unsigned int' to 'Bytef', possible loss of data
  third_party/zlib/deflate.c(1695): warning C4244: '=': conversion from 'unsigned int' to 'Bytef', possible loss of data
  third_party/zlib/deflate.c(1696): warning C4244: '=': conversion from 'unsigned int' to 'Bytef', possible loss of data
  third_party/zlib/deflate.c(1825): warning C4131: 'deflate_fast': uses old-style declarator
  third_party/zlib/deflate.c(1927): warning C4131: 'deflate_slow': uses old-style declarator
  third_party/zlib/deflate.c(2058): warning C4131: 'deflate_rle': uses old-style declarator
  third_party/zlib/deflate.c(2131): warning C4131: 'deflate_huff': uses old-style declarator
  exit code: 0
  running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-I" "include" "-W4" "/utf-8" "-Foc:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/zlib/gzclose.o" "-c" "third_party/zlib/gzclose.c"
  gzclose.c
  third_party/zlib/gzclose.c(12): warning C4131: 'gzclose': uses old-style declarator
  exit code: 0
  running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-I" "include" "-W4" "/utf-8" "-Foc:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/zlib/gzlib.o" "-c" "third_party/zlib/gzlib.c"
  gzlib.c
  third_party/zlib/gzlib.c(76): warning C4131: 'gz_reset': uses old-style declarator
  third_party/zlib/gzlib.c(92): warning C4131: 'gz_open': uses old-style declarator
  third_party/zlib/gzlib.c(193): warning C4996: 'wcstombs': This function or variable may be unsafe. Consider using wcstombs_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
  third_party/zlib/gzlib.c(208): warning C4996: 'wcstombs': This function or variable may be unsafe. Consider using wcstombs_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
  third_party/zlib/gzlib.c(243): warning C4996: '_wopen': This function or variable may be unsafe. Consider using _wsopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
  third_party/zlib/gzlib.c(245): warning C4996: 'open': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _open. See online help for details.
  third_party/zlib/gzlib.c(271): warning C4131: 'gzopen': uses old-style declarator
  third_party/zlib/gzlib.c(279): warning C4131: 'gzopen64': uses old-style declarator
  third_party/zlib/gzlib.c(287): warning C4131: 'gzdopen': uses old-style declarator
  third_party/zlib/gzlib.c(308): warning C4131: 'gzopen_w': uses old-style declarator
  third_party/zlib/gzlib.c(317): warning C4131: 'gzbuffer': uses old-style declarator
  third_party/zlib/gzlib.c(344): warning C4131: 'gzrewind': uses old-style declarator
  third_party/zlib/gzlib.c(367): warning C4131: 'gzseek64': uses old-style declarator
  third_party/zlib/gzlib.c(444): warning C4131: 'gzseek': uses old-style declarator
  third_party/zlib/gzlib.c(456): warning C4131: 'gztell64': uses old-style declarator
  third_party/zlib/gzlib.c(473): warning C4131: 'gztell': uses old-style declarator
  third_party/zlib/gzlib.c(483): warning C4131: 'gzoffset64': uses old-style declarator
  third_party/zlib/gzlib.c(506): warning C4131: 'gzoffset': uses old-style declarator
  third_party/zlib/gzlib.c(516): warning C4131: 'gzeof': uses old-style declarator
  third_party/zlib/gzlib.c(533): warning C4131: 'gzerror': uses old-style declarator
  third_party/zlib/gzlib.c(554): warning C4131: 'gzclearerr': uses old-style declarator
  third_party/zlib/gzlib.c(580): warning C4131: 'gz_error': uses old-style declarator
  exit code: 0
  running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-I" "include" "-W4" "/utf-8" "-Foc:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/zlib/gzread.o" "-c" "third_party/zlib/gzread.c"
  gzread.c
  third_party/zlib/gzread.c(22): warning C4131: 'gz_load': uses old-style declarator
  third_party/zlib/gzread.c(35): warning C4996: 'read': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _read. See online help for details.
  third_party/zlib/gzread.c(41): warning C4996: 'strerror': This function or variable may be unsafe. Consider using strerror_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
  third_party/zlib/gzread.c(57): warning C4131: 'gz_avail': uses old-style declarator
  third_party/zlib/gzread.c(92): warning C4131: 'gz_look': uses old-style declarator
  third_party/zlib/gzread.c(176): warning C4131: 'gz_decomp': uses old-style declarator
  third_party/zlib/gzread.c(230): warning C4131: 'gz_fetch': uses old-style declarator
  third_party/zlib/gzread.c(260): warning C4131: 'gz_skip': uses old-style declarator
  third_party/zlib/gzread.c(295): warning C4131: 'gz_read': uses old-style declarator
  third_party/zlib/gzread.c(317): warning C4245: '=': conversion from 'int' to 'unsigned int', signed/unsigned mismatch
  third_party/zlib/gzread.c(319): warning C4267: '=': conversion from 'size_t' to 'unsigned int', possible loss of data
  third_party/zlib/gzread.c(376): warning C4131: 'gzread': uses old-style declarator
  third_party/zlib/gzread.c(400): warning C4267: '=': conversion from 'size_t' to 'unsigned int', possible loss of data
  third_party/zlib/gzread.c(412): warning C4131: 'gzfread': uses old-style declarator
  third_party/zlib/gzread.c(448): warning C4131: 'gzgetc': uses old-style declarator
  third_party/zlib/gzread.c(472): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
  third_party/zlib/gzread.c(477): warning C4131: 'gzgetc_': uses old-style declarator
  third_party/zlib/gzread.c(484): warning C4131: 'gzungetc': uses old-style declarator
  third_party/zlib/gzread.c(544): warning C4131: 'gzgets': uses old-style declarator
  third_party/zlib/gzread.c(608): warning C4131: 'gzdirect': uses old-style declarator
  third_party/zlib/gzread.c(628): warning C4131: 'gzclose_r': uses old-style declarator
  third_party/zlib/gzread.c(651): warning C4996: 'close': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _close. See online help for details.
  exit code: 0
  running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-I" "include" "-W4" "/utf-8" "-Foc:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/zlib/gzwrite.o" "-c" "third_party/zlib/gzwrite.c"
  gzwrite.c
  third_party/zlib/gzwrite.c(18): warning C4131: 'gz_init': uses old-style declarator
  third_party/zlib/gzwrite.c(74): warning C4131: 'gz_comp': uses old-style declarator
  third_party/zlib/gzwrite.c(89): warning C4996: 'write': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _write. See online help for details.
  third_party/zlib/gzwrite.c(91): warning C4996: 'strerror': This function or variable may be unsafe. Consider using strerror_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
  third_party/zlib/gzwrite.c(110): warning C4996: 'write': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _write. See online help for details.
  third_party/zlib/gzwrite.c(112): warning C4996: 'strerror': This function or variable may be unsafe. Consider using strerror_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
  third_party/zlib/gzwrite.c(146): warning C4131: 'gz_zero': uses old-style declarator
  third_party/zlib/gzwrite.c(179): warning C4131: 'gz_write': uses old-style declarator
  third_party/zlib/gzwrite.c(212): warning C4267: '=': conversion from 'size_t' to 'unsigned int', possible loss of data
  third_party/zlib/gzwrite.c(232): warning C4267: '=': conversion from 'size_t' to 'unsigned int', possible loss of data
  third_party/zlib/gzwrite.c(247): warning C4131: 'gzwrite': uses old-style declarator
  third_party/zlib/gzwrite.c(275): warning C4131: 'gzfwrite': uses old-style declarator
  third_party/zlib/gzwrite.c(305): warning C4131: 'gzputc': uses old-style declarator
  third_party/zlib/gzwrite.c(353): warning C4131: 'gzputs': uses old-style declarator
  third_party/zlib/gzwrite.c(371): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
  third_party/zlib/gzwrite.c(554): warning C4131: 'gzflush': uses old-style declarator
  third_party/zlib/gzwrite.c(586): warning C4131: 'gzsetparams': uses old-style declarator
  third_party/zlib/gzwrite.c(628): warning C4131: 'gzclose_w': uses old-style declarator
  third_party/zlib/gzwrite.c(661): warning C4996: 'close': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _close. See online help for details.
  exit code: 0
  running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-I" "include" "-W4" "/utf-8" "-Foc:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/zlib/infback.o" "-c" "third_party/zlib/infback.c"
  infback.c
  third_party/zlib/infback.c(29): warning C4131: 'inflateBackInit_': uses old-style declarator
  third_party/zlib/infback.c(83): warning C4131: 'fixedtables': uses old-style declarator
  third_party/zlib/infback.c(251): warning C4131: 'inflateBack': uses old-style declarator
  third_party/zlib/infback.c(632): warning C4131: 'inflateBackEnd': uses old-style declarator
  exit code: 0
  running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-I" "include" "-W4" "/utf-8" "-Foc:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/zlib/inffast.o" "-c" "third_party/zlib/inffast.c"
  inffast.c
  third_party/zlib/inffast.c(51): warning C4131: 'inflate_fast': uses old-style declarator
  exit code: 0
  running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-I" "include" "-W4" "/utf-8" "-Foc:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/zlib/inflate.o" "-c" "third_party/zlib/inflate.c"
  inflate.c
  third_party/zlib/inflate.c(106): warning C4131: 'inflateStateCheck': uses old-style declarator
  third_party/zlib/inflate.c(120): warning C4131: 'inflateResetKeep': uses old-style declarator
  third_party/zlib/inflate.c(145): warning C4131: 'inflateReset': uses old-style declarator
  third_party/zlib/inflate.c(158): warning C4131: 'inflateReset2': uses old-style declarator
  third_party/zlib/inflate.c(196): warning C4131: 'inflateInit2_': uses old-style declarator
  third_party/zlib/inflate.c(240): warning C4131: 'inflateInit_': uses old-style declarator
  third_party/zlib/inflate.c(248): warning C4131: 'inflatePrime': uses old-style declarator
  third_party/zlib/inflate.c(279): warning C4131: 'fixedtables': uses old-style declarator
  third_party/zlib/inflate.c(397): warning C4131: 'updatewindow': uses old-style declarator
  third_party/zlib/inflate.c(623): warning C4131: 'inflate': uses old-style declarator
  third_party/zlib/inflate.c(1278): warning C4131: 'inflateEnd': uses old-style declarator
  third_party/zlib/inflate.c(1292): warning C4131: 'inflateGetDictionary': uses old-style declarator
  third_party/zlib/inflate.c(1315): warning C4131: 'inflateSetDictionary': uses old-style declarator
  third_party/zlib/inflate.c(1350): warning C4131: 'inflateGetHeader': uses old-style declarator
  third_party/zlib/inflate.c(1378): warning C4131: 'syncsearch': uses old-style declarator
  third_party/zlib/inflate.c(1401): warning C4131: 'inflateSync': uses old-style declarator
  third_party/zlib/inflate.c(1452): warning C4131: 'inflateSyncPoint': uses old-style declarator
  third_party/zlib/inflate.c(1462): warning C4131: 'inflateCopy': uses old-style declarator
  third_party/zlib/inflate.c(1509): warning C4131: 'inflateUndermine': uses old-style declarator
  third_party/zlib/inflate.c(1527): warning C4131: 'inflateValidate': uses old-style declarator
  third_party/zlib/inflate.c(1542): warning C4131: 'inflateMark': uses old-style declarator
  third_party/zlib/inflate.c(1555): warning C4131: 'inflateCodesUsed': uses old-style declarator
  exit code: 0
  running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-I" "include" "-W4" "/utf-8" "-Foc:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/zlib/inftrees.o" "-c" "third_party/zlib/inftrees.c"
  inftrees.c
  third_party/zlib/inftrees.c(33): warning C4131: 'inflate_table': uses old-style declarator
  exit code: 0
  running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-I" "include" "-W4" "/utf-8" "-Foc:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/zlib/trees.o" "-c" "third_party/zlib/trees.c"
  trees.c
  third_party/zlib/trees.c(380): warning C4131: '_tr_init': uses old-style declarator
  third_party/zlib/trees.c(408): warning C4131: 'init_block': uses old-style declarator
  third_party/zlib/trees.c(452): warning C4131: 'pqdownheap': uses old-style declarator
  third_party/zlib/trees.c(487): warning C4131: 'gen_bitlen': uses old-style declarator
  third_party/zlib/trees.c(573): warning C4131: 'gen_codes': uses old-style declarator
  third_party/zlib/trees.c(616): warning C4131: 'build_tree': uses old-style declarator
  third_party/zlib/trees.c(704): warning C4131: 'scan_tree': uses old-style declarator
  third_party/zlib/trees.c(724): warning C4244: '+=': conversion from 'int' to 'ush', possible loss of data
  third_party/zlib/trees.c(749): warning C4131: 'send_tree': uses old-style declarator
  third_party/zlib/trees.c(800): warning C4131: 'build_bl_tree': uses old-style declarator
  third_party/zlib/trees.c(835): warning C4131: 'send_all_trees': uses old-style declarator
  third_party/zlib/trees.c(864): warning C4131: '_tr_stored_block': uses old-style declarator
  third_party/zlib/trees.c(887): warning C4131: '_tr_flush_bits': uses old-style declarator
  third_party/zlib/trees.c(897): warning C4131: '_tr_align': uses old-style declarator
  third_party/zlib/trees.c(912): warning C4131: '_tr_flush_block': uses old-style declarator
  third_party/zlib/trees.c(1015): warning C4131: '_tr_tally': uses old-style declarator
  third_party/zlib/trees.c(1065): warning C4131: 'compress_block': uses old-style declarator
  third_party/zlib/trees.c(1125): warning C4131: 'detect_data_type': uses old-style declarator
  third_party/zlib/trees.c(1159): warning C4131: 'bi_reverse': uses old-style declarator
  third_party/zlib/trees.c(1174): warning C4131: 'bi_flush': uses old-style declarator
  third_party/zlib/trees.c(1191): warning C4131: 'bi_windup': uses old-style declarator
  exit code: 0
  running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-I" "include" "-W4" "/utf-8" "-Foc:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/zlib/uncompr.o" "-c" "third_party/zlib/uncompr.c"
  uncompr.c
  third_party/zlib/uncompr.c(28): warning C4131: 'uncompress2': uses old-style declarator
  third_party/zlib/uncompr.c(87): warning C4131: 'uncompress': uses old-style declarator
  exit code: 0
  running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-I" "include" "-W4" "/utf-8" "-Foc:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/zlib/zutil.o" "-c" "third_party/zlib/zutil.c"
  zutil.c
  third_party/zlib/zutil.c(134): warning C4131: 'zError': uses old-style declarator
  third_party/zlib/zutil.c(306): warning C4131: 'zcalloc': uses old-style declarator
  third_party/zlib/zutil.c(316): warning C4131: 'zcfree': uses old-style declarator
  exit code: 0
  running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-I" "include" "-W4" "/utf-8" "-Foc:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/third_party/md5/md5.o" "-c" "third_party/libxlsxwriter/third_party/md5/md5.c"
  md5.c
  exit code: 0
  running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64\\cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-I" "include" "-W4" "/utf-8" "-Foc:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/third_party/minizip/iowin32.o" "-c" "third_party/libxlsxwriter/third_party/minizip/iowin32.c"
  iowin32.c
  third_party/libxlsxwriter/third_party/minizip/iowin32.c(90): warning C4100: 'opaque': unreferenced formal parameter
  third_party/libxlsxwriter/third_party/minizip/iowin32.c(92): warning C4189: 'mode_fopen': local variable is initialized but not referenced
  third_party/libxlsxwriter/third_party/minizip/iowin32.c(119): warning C4100: 'opaque': unreferenced formal parameter
  third_party/libxlsxwriter/third_party/minizip/iowin32.c(121): warning C4189: 'mode_fopen': local variable is initialized but not referenced
  third_party/libxlsxwriter/third_party/minizip/iowin32.c(143): warning C4100: 'opaque': unreferenced formal parameter
  third_party/libxlsxwriter/third_party/minizip/iowin32.c(145): warning C4189: 'mode_fopen': local variable is initialized but not referenced
  third_party/libxlsxwriter/third_party/minizip/iowin32.c(163): warning C4100: 'opaque': unreferenced formal parameter
  third_party/libxlsxwriter/third_party/minizip/iowin32.c(165): warning C4189: 'mode_fopen': local variable is initialized but not referenced
  third_party/libxlsxwriter/third_party/minizip/iowin32.c(192): warning C4100: 'opaque': unreferenced formal parameter
  third_party/libxlsxwriter/third_party/minizip/iowin32.c(214): warning C4100: 'opaque': unreferenced formal parameter
  third_party/libxlsxwriter/third_party/minizip/iowin32.c(255): warning C4100: 'opaque': unreferenced formal parameter
  third_party/libxlsxwriter/third_party/minizip/iowin32.c(278): warning C4100: 'opaque': unreferenced formal parameter
  third_party/libxlsxwriter/third_party/minizip/iowin32.c(303): warning C4100: 'opaque': unreferenced formal parameter
  third_party/libxlsxwriter/third_party/minizip/iowin32.c(341): warning C4100: 'opaque': unreferenced formal parameter
  third_party/libxlsxwriter/third_party/minizip/iowin32.c(380): warning C4100: 'opaque': unreferenced formal parameter
  third_party/libxlsxwriter/third_party/minizip/iowin32.c(398): warning C4100: 'opaque': unreferenced formal parameter
  exit code: 0
  AR_x86_64-pc-windows-msvc = None
  AR_x86_64_pc_windows_msvc = None
  HOST_AR = None
  AR = None
  running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX64\\x64\\lib.exe" "-out:c:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\libxlsxwriter.a" "-nologo" "c:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/third_party/tmpfileplus/tmpfileplus.o" "c:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/third_party/minizip/ioapi.o" "c:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/third_party/minizip/zip.o" "c:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/src/app.o" "c:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/src/chart.o" "c:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/src/chartsheet.o" "c:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/src/comment.o" "c:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/src/content_types.o" "c:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/src/core.o" "c:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/src/custom.o" "c:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/src/drawing.o" "c:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/src/format.o" "c:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/src/hash_table.o" "c:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/src/metadata.o" "c:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/src/packager.o" "c:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/src/relationships.o" "c:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/src/shared_strings.o" "c:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/src/styles.o" "c:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/src/theme.o" "c:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/src/utility.o" "c:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/src/vml.o" "c:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/src/workbook.o" "c:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/src/worksheet.o" "c:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/src/xmlwriter.o" "c:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/zlib/adler32.o" "c:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/zlib/compress.o" "c:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/zlib/crc32.o" "c:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/zlib/deflate.o" "c:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/zlib/gzclose.o" "c:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/zlib/gzlib.o" "c:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/zlib/gzread.o" "c:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/zlib/gzwrite.o" "c:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/zlib/infback.o" "c:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/zlib/inffast.o" "c:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/zlib/inflate.o" "c:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/zlib/inftrees.o" "c:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/zlib/trees.o" "c:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/zlib/uncompr.o" "c:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/zlib/zutil.o" "c:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/third_party/md5/md5.o" "c:\\Users\\adrian\\cargo_target_dir\\release\\build\\libxlsxwriter-sys-9554872efd10650e\\out\\third_party/libxlsxwriter/third_party/minizip/iowin32.o"
  exit code: 0
  cargo:rustc-link-lib=static=xlsxwriter
  cargo:rustc-link-search=native=c:\Users\adrian\cargo_target_dir\release\build\libxlsxwriter-sys-9554872efd10650e\out

  --- stderr
  c:\mingw64\x86_64-w64-mingw32\include\stdlib.h:388:47: error: expected ';' after top level declarator
  c:\mingw64\x86_64-w64-mingw32\include\stdlib.h:389:48: error: expected ';' after top level declarator
  c:\mingw64\x86_64-w64-mingw32\include\stdlib.h:391:53: error: expected ';' after top level declarator
  c:\mingw64\x86_64-w64-mingw32\include\stdlib.h:396:26: error: expected ';' after top level declarator
  c:\mingw64\x86_64-w64-mingw32\include\stdlib.h:681:69: error: expected ';' after top level declarator
  c:\mingw64\x86_64-w64-mingw32\include\stdlib.h:683:48: error: expected ';' after top level declarator
  c:\mingw64\x86_64-w64-mingw32\include\stdlib.h:684:55: error: expected ';' after top level declarator
  c:\mingw64\x86_64-w64-mingw32\include\time.h:256:30: error: expected ';' after top level declarator
  c:\mingw64\x86_64-w64-mingw32\include\time.h:257:31: error: expected ';' after top level declarator
  c:\mingw64\x86_64-w64-mingw32\include\time.h:258:33: error: expected ';' after top level declarator
  c:\mingw64\x86_64-w64-mingw32\include\stdlib.h:388:47: error: expected ';' after top level declarator, err: true
  c:\mingw64\x86_64-w64-mingw32\include\stdlib.h:389:48: error: expected ';' after top level declarator, err: true
  c:\mingw64\x86_64-w64-mingw32\include\stdlib.h:391:53: error: expected ';' after top level declarator, err: true
  c:\mingw64\x86_64-w64-mingw32\include\stdlib.h:396:26: error: expected ';' after top level declarator, err: true
  c:\mingw64\x86_64-w64-mingw32\include\stdlib.h:681:69: error: expected ';' after top level declarator, err: true
  c:\mingw64\x86_64-w64-mingw32\include\stdlib.h:683:48: error: expected ';' after top level declarator, err: true
  c:\mingw64\x86_64-w64-mingw32\include\stdlib.h:684:55: error: expected ';' after top level declarator, err: true
  c:\mingw64\x86_64-w64-mingw32\include\time.h:256:30: error: expected ';' after top level declarator, err: true
  c:\mingw64\x86_64-w64-mingw32\include\time.h:257:31: error: expected ';' after top level declarator, err: true
  c:\mingw64\x86_64-w64-mingw32\include\time.h:258:33: error: expected ';' after top level declarator, err: true
  thread 'main' panicked at 'Unable to generate bindings: ()', C:\Users\adrian\.cargo\registry\src\mirrors.sjtug.sjtu.edu.cn-7a04d2510079875b\libxlsxwriter-sys-1.1.1\build.rs:117:10
  stack backtrace:
     0: std::panicking::begin_panic_handler
               at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a\/library\std\src\panicking.rs:498
     1: core::panicking::panic_fmt
               at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a\/library\core\src\panicking.rs:116
     2: core::result::unwrap_failed
               at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a\/library\core\src\result.rs:1690
     3: core::result::Result<T,E>::expect
     4: alloc::raw_vec::RawVec<T,A>::reserve_for_push
     5: core::ops::function::FnOnce::call_once
     6: std::rt::lang_start::{{closure}}
     7: std::rt::lang_start::{{closure}}
     8: core::ops::function::impls::impl$2::call_once
               at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a\library\core\src\ops\function.rs:259
     9: std::panicking::try::do_call
               at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a\/library\std\src\panicking.rs:406
    10: std::panicking::try
               at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a\/library\std\src\panicking.rs:370
    11: std::panic::catch_unwind
               at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a\/library\std\src\panic.rs:133
    12: std::rt::lang_start_internal::closure$2
               at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a\/library\std\src\rt.rs:128
    13: std::panicking::try::do_call
               at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a\/library\std\src\panicking.rs:406
    14: std::panicking::try
               at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a\/library\std\src\panicking.rs:370
    15: std::panic::catch_unwind
               at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a\/library\std\src\panic.rs:133
    16: std::rt::lang_start_internal
               at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a\/library\std\src\rt.rs:128
    17: std::rt::lang_start
    18: main
    19: invoke_main
               at d:\a01\_work\12\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78
    20: __scrt_common_main_seh
               at d:\a01\_work\12\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
    21: BaseThreadInitThunk
    22: RtlUserThreadStart
  note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
warning: build failed, waiting for other jobs to finish...
error: build failed

Compilation failure with outdated `libxlsxwriter_sys`

Compilation of xlsxwriter v0.5.0 failed for me with the following error:

   Compiling xlsxwriter v0.5.0
error[E0412]: cannot find type `size_t` in crate `libxlsxwriter_sys`
Error:     --> /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/xlsxwriter-0.5.0/src/worksheet/mod.rs:1351:52
     |
1351 |                 buffer.len() as libxlsxwriter_sys::size_t,
     |                                                    ^^^^^^ help: a type alias with a similar name exists: `time_t`
     |
    ::: /home/runner/work/qe/qe/target/debug/build/libxlsxwriter-sys-daf207466914eb99/out/bindings.rs:361:1
     |
361  | pub type time_t = __time_t;
     | --------------- similarly named type alias `time_t` defined here

error[E0412]: cannot find type `size_t` in crate `libxlsxwriter_sys`
Error:     --> /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/xlsxwriter-0.5.0/src/worksheet/mod.rs:1375:52
     |
1375 |                 buffer.len() as libxlsxwriter_sys::size_t,
     |                                                    ^^^^^^ help: a type alias with a similar name exists: `time_t`
     |
    ::: /home/runner/work/qe/qe/target/debug/build/libxlsxwriter-sys-daf207466914eb99/out/bindings.rs:361:1
     |
361  | pub type time_t = __time_t;
     | --------------- similarly named type alias `time_t` defined here

error[E0063]: missing fields `output_buffer` and `output_buffer_size` in initializer of `lxw_workbook_options`
Error:    --> /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/xlsxwriter-0.5.0/src/workbook.rs:103:40
    |
103 |             let mut workbook_options = libxlsxwriter_sys::lxw_workbook_options {
    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `output_buffer` and `output_buffer_size`

This is due to the fact that libxlsxwriter-sys was tagged as a non-breaking release:

    Updating libxlsxwriter-sys v1.1.4 -> v1.1.5

Whereas this appears to be breaking.

For now, I could fix this by switching over to xlsxwriter v0.6.0. I just thought it was good to report this breakage because xlsxwriter v0.5.0 is currently broken.

Center horizontal alignment?

Hi,

Is there an specific reason why center horizontal alignment is not available? It would correspond to LXW_ALIGN_CENTER in libxlsxwriter

Cheers

[security] write_string panics upon null byte injection attempts

I noticed write_string and potentially other public interfaces panic upon nul byte input.

I have recreated in a test here:

#[test]
fn test_nul_byte_injection() -> Result<(), XlsxError> {
let workbook = Workbook::new("../target/test.xlsx");
let mut sheet = workbook.add_worksheet(None)?;
sheet.write_string(0, 0, "\0", None)?;
Ok(())
}

how would you like to resolve this? I'm happy to add defensive programming or improve the block so we can handle should CString error.

I believe the affected code is here:

pub fn write_string(
&mut self,
row: WorksheetRow,
col: WorksheetCol,
text: &str,
format: Option<&Format>,
) -> Result<(), XlsxError> {
unsafe {
let result = libxlsxwriter_sys::worksheet_write_string(
self.worksheet,
row,
col,
CString::new(text).unwrap().as_c_str().as_ptr(),
format.map(|x| x.format).unwrap_or(std::ptr::null_mut()),
);
if result == libxlsxwriter_sys::lxw_error_LXW_NO_ERROR {
Ok(())
} else {
Err(XlsxError::new(result))
}
}
}

helpful links

libxslxwriter-sys 1.0.6 not compiling due to multiple function definitions

When compiling a project which depends on libxlsxwriter-sys 1.0.6 and openssl-sys building fails with the following error:

  = note: /usr/bin/ld: /home/runner/work/rust-bio-tools/rust-bio-tools/target/debug/deps/libopenssl_sys-
00c19b0094657d7d.rlib(md5_dgst.o): in function `MD5_Update':
 /home/runner/work/rust-bio-tools/rust-bio-tools/target/debug/build/openssl-sys-a8fd2f9e3cbc8819/out/openssl-
build/build/src/include/crypto/md32_common.h:129:
multiple definition of `MD5_Update';
/home/runner/work/rust-bio-tools/rust-bio-tools/target/debug/deps/liblibxlsxwriter_sys-
efe54190b1af2eaf.rlib(md5.o):
/usr/share/rust/.cargo/registry/src/github.com-1ecc6299db9ec823/libxlsxwriter-sys-
1.0.6/third_party/libxlsxwriter/third_party/md5/md5.c:219: first defined here


It appears as if it would be possible to directly use openssl instead of the included code.

So would it be possible to set the included code as an optional feature for libxlsxwriter-sys?

Formula value not visible in spreadsheet when loading

Sorry, if this is a stupid question.

This is Linux, Rust is 1.57.0 and xlswriter is newest.
I did the following

    workbook.define_name("Serial", "=12315689");
  ...
       sheet1.write_formula(3, 0, "=Serial", None);

When loading the xlsx file with libreoffice the value of cell A4 is 0.

Is this just works as designed or is it an error in the underlying xlswriter C library?

My understanding was that when loading the document with libreoffice (or similar software) the formula gets calculated.

Non-ASCII path xlsx file creation failed (Windows)

rust edition: 2021
OS: Windows 11(Language: Simplified Chinese)
xlsxwriter = { version = "^0.3" }

minimal reproducible project.zip

codes and erros show as blow,how can I fix this?

Update:
I temporarily bypassed this issue, jut use env::temp_dir to create a temp file, then move tmpfile to target xlsx.

main.rs:

use std::path;
use xlsxwriter;
fn main() {
    let mut p = path::PathBuf::from("中文");
    println!("Test Dir exists: {:?}", &p.exists());
    p.push("测试.xlsx");
    println!("Test File exists: {:?}", &p.exists());
    let out = p.to_str().unwrap();
    let workbook = xlsxwriter::Workbook::new(&out);
    let mut sheet = workbook.add_worksheet(None).expect("Cannot add sheet.");
    // write some data
    sheet
        .write_string(0, 0, "id", None)
        .expect("Cannot write header to sheet");
    workbook.close().expect("Cannot close workbook");
}

Backtrace info

PS>cargo run
    Finished dev [unoptimized + debuginfo] target(s) in 0.05s
     Running `target\debug\x.exe`
[ERROR] workbook_close(): Error creating '涓枃\娴嬭瘯.xlsx'. System error = No such file or directory
thread 'main' panicked at 'Cannot close workbook: XlsxError { error: 2 }', src\main.rs:15:22
stack backtrace:
   0:     0x7ff69f607dd0 - std::backtrace_rs::backtrace::dbghelp::trace::h97ee1f5cd8c99222
                               at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\std\src\..\..\backtrace\src\backtrace/dbghelp.rs:98:5
   1:     0x7ff69f607dd0 - std::backtrace_rs::backtrace::trace_unsynchronized::hca9514563d535d79
                               at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\std\src\..\..\backtrace\src\backtrace/mod.rs:66:5
   2:     0x7ff69f607dd0 - std::sys_common::backtrace::_print_fmt::h5091a9ac0e137374
                               at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\std\src\sys_common/backtrace.rs:66:5
   3:     0x7ff69f607dd0 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h595f8b1acf763f32
                               at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\std\src\sys_common/backtrace.rs:45:22
   4:     0x7ff69f65d5ca - core::fmt::write::h5d420c3939530848
                               at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\core\src\fmt/mod.rs:1194:17
   5:     0x7ff69f5fa133 - std::io::Write::write_fmt::hea00669dfe5d94db
                               at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\std\src\io/mod.rs:1655:15
   6:     0x7ff69f60b019 - std::sys_common::backtrace::_print::hd09887ca85ce7833
                               at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\std\src\sys_common/backtrace.rs:48:5
   7:     0x7ff69f60b019 - std::sys_common::backtrace::print::h597452910002c5b1
                               at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\std\src\sys_common/backtrace.rs:35:9
   8:     0x7ff69f60b019 - std::panicking::default_hook::{{closure}}::h7b626b282e7ce79b
                               at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\std\src/panicking.rs:295:22
   9:     0x7ff69f60ac9d - std::panicking::default_hook::ha46aeb549e508cbe
                               at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\std\src/panicking.rs:314:9
  10:     0x7ff69f60b737 - std::panicking::rust_panic_with_hook::h7db84b8bdf224ccb
                               at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\std\src/panicking.rs:698:17
  11:     0x7ff69f60b635 - std::panicking::begin_panic_handler::{{closure}}::hfd4a1776387728e4
                               at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\std\src/panicking.rs:588:13
  12:     0x7ff69f6087c7 - std::sys_common::backtrace::__rust_end_short_backtrace::hcad19b897b28265c
                               at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\std\src\sys_common/backtrace.rs:138:18
  13:     0x7ff69f60b369 - rust_begin_unwind
                               at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\std\src/panicking.rs:584:5
  14:     0x7ff69f65a045 - core::panicking::panic_fmt::h43a1cc0716104479
                               at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\core\src/panicking.rs:143:14
  15:     0x7ff69f65a3a3 - core::result::unwrap_failed::h0e3ebc6b7d5f7a9a
                               at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\core\src/result.rs:1785:5
  16:     0x7ff69f5925f0 - core::result::Result<T,E>::expect::hc133fe9960b20c0a
                               at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\library\core\src/result.rs:1035:23
  17:     0x7ff69f593389 - x::main::hcb4c0a9f04bf47ad
                               at C:\Users\user\Desktop\x\src\main.rs:15:5
  18:     0x7ff69f592aab - core::ops::function::FnOnce::call_once::hc7ec2afe117adbf6
                               at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\library\core\src\ops/function.rs:227:5
  19:     0x7ff69f5926fe - std::sys_common::backtrace::__rust_begin_short_backtrace::h507b7365f1a7fc70
                               at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\library\std\src\sys_common/backtrace.rs:122:18
  20:     0x7ff69f592a11 - std::rt::lang_start::{{closure}}::hb0c635ea1381f500
                               at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\library\std\src/rt.rs:145:18
  21:     0x7ff69f5e9e13 - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::hda60aeee14444e1e
                               at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\library\core\src\ops/function.rs:259:13
  22:     0x7ff69f5e9e13 - std::panicking::try::do_call::h2c011b39f85b8f5d
                               at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\std\src/panicking.rs:492:40
  23:     0x7ff69f5e9e13 - std::panicking::try::h2740f97f45fefbef
                               at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\std\src/panicking.rs:456:19
  24:     0x7ff69f5e9e13 - std::panic::catch_unwind::h5884b43bb842d87d
                               at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\std\src/panic.rs:137:14
  25:     0x7ff69f5e9e13 - std::rt::lang_start_internal::{{closure}}::hebb63b2ddf45a83a
                               at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\std\src/rt.rs:128:48
  26:     0x7ff69f5e9e13 - std::panicking::try::do_call::h21c57b09ab3e22e4
                               at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\std\src/panicking.rs:492:40
  27:     0x7ff69f5e9e13 - std::panicking::try::h0d1c5e6731f45c72
                               at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\std\src/panicking.rs:456:19
  28:     0x7ff69f5e9e13 - std::panic::catch_unwind::hc36dd7576657d56e
                               at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\std\src/panic.rs:137:14
  29:     0x7ff69f5e9e13 - std::rt::lang_start_internal::h33676380eacb58f6
                               at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\std\src/rt.rs:128:20
  30:     0x7ff69f5929df - std::rt::lang_start::hef7724c030cba052
                               at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\library\std\src/rt.rs:144:17
  31:     0x7ff69f59340c - main
  32:     0x7ff69f5913ae - __tmainCRTStartup
                               at C:\M\mingw-w64-crt-git\src\crt-x86_64-w64-mingw32\C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt\crtexe.c:321:15
  33:     0x7ff69f5914e6 - mainCRTStartup
                               at C:\M\mingw-w64-crt-git\src\crt-x86_64-w64-mingw32\C:/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt\crtexe.c:202:9
  34:     0x7ff8e8db54e0 - <unknown>
  35:     0x7ff8ead6485b - <unknown>
error: process didn't exit successfully: `target\debug\x.exe` (exit code: 101)

Will this repository get a long term support?

Hello every contributors of this repository!
I'm recently coding one project with Rust. In the past few days I need to create a Excel file, so I turn to xlsxwriters-rs, and I really appreciate this tool :)

v0.4.0 fails to compile, possibly on arm-based (aarch64) mac

First of all thank you very much for maintaining this awesome library!

problem

Our application (relying on xlsxwriter) fails to compile after updating to v0.4.0.
(I confirmed it compiles successfully upto the commit right before this update is getting merged)

Here's the message we got:

   Compiling xlsxwriter v0.4.0
error[E0308]: mismatched types
   --> /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/xlsxwriter-0.4.0/src/worksheet/table.rs:273:23
    |
273 |                 name: cstring_helper.add_opt(options.name.as_deref()) as *mut i8,
    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u8`, found `i8`
    |
    = note: expected raw pointer `*mut u8`
               found raw pointer `*mut i8`

For more information about this error, try `rustc --explain E0308`.

The strange thing is that it did NOT happen to other environments - especially our CI is green, and the production app seems to be running just fine.

quick analysis

(sorry but I might be totally wrong - I'm very new to this language)

Here is the specific part the compiler is complaining on.

name: cstring_helper.add_opt(options.name.as_deref()) as *mut i8,

It looks like the above failed code is trying to cast c_char into i8, where as the official doc says that c_char could be interpreted as either i8 or u8 depending on the platform (which is also be seen around here).

Could it be the cause for this platform-depenedent issue maybe?

Anyway, it would be greatly appreciated if this can be fixed anytime soon!

call sheet.data_validation_cell crash

Reproduced rust source code.

main.rs

use anyhow::Result;
use xlsxwriter::{
    DataValidation, DataValidationCriteria, DataValidationErrorType, DataValidationType, Workbook,
};

fn main() -> Result<()> {
    let workbook = Workbook::new("./simple1.xlsx")?;

    let mut sheet1 = workbook.add_worksheet(None)?;
    sheet1.write_string(0, 0, "Red text", None)?;

    let mut validation = DataValidation::new(
        DataValidationType::List,
        DataValidationCriteria::None,
        DataValidationErrorType::Stop,
    );

    let list = build_value_list();

    validation.value_list = Some(list);

    sheet1.data_validation_cell(0, 1, &validation)?;

    workbook.close()?;

    Ok(())
}

fn build_value_list() -> Vec<String> {
    let res = vec![
        "8位 无符号".to_string(),
        "8位 有符号".to_string(),
        "16位 无符号(AB)".to_string(),
        "16位 无符号(BA)".to_string(),
        "16位 有符号(AB)".to_string(),
        "16位 有符号(BA)".to_string(),
        "32位 无符号(AB CD)".to_string(),
        "32位 无符号(CD AB)".to_string(),
        "32位 有符号(AB CD)".to_string(),
        "32位 有符号(CD AB)".to_string(),
        "32位 浮点数(AB CD)".to_string(),
        "32位 浮点数(CD AB)".to_string(),
        "64位 浮点数(AB CD)".to_string(),
        "64位 浮点数(CD AB)".to_string(),
        "位".to_string(),
    ];

    res
}

crash after running cargo run.

crash message:

demo(60168,0x1ed75fa80) malloc: Incorrect checksum for freed object 0x158604f88: probably modified after being freed.
Corrupt value: 0x28b095e6b982e7ae
demo(60168,0x1ed75fa80) malloc: *** set a breakpoint in malloc_error_break to debug
[1]    60168 abort      cargo run

maybe 2007 xlsx limit 255 chars?

Invalid xlsx files generated with some locales

I was recently hit by this issue: jmcnamara/libxlsxwriter#64. The problem is that libxlsxwirter uses sprintf by default which formats decimal numbers in a locale-dependent way, resulting in invalid xlsx files on locales which uses comma as a decimal separator. This is a very confusing problem, as the spreadsheet application I was using (libreoffice calc) did throw any errors on the invalid files, but instead only parses the integer portion of the numbers. Also note that the issue only arises if setlocale is called, possibly in some external library (for me it was possibly gtk?)

A simple solution to solve this problem is to set LC_NUMERIC to C early in main with something like this:

std::env::set_var("LC_NUMERIC", "C");

However it would be preferable to compile libxlsxwriter with USE_DTOA_LIBRARY in order for it to use a locale-independent function. This flag was introduced in jmcnamara/libxlsxwriter#272 and is documented here.

Data validation booleans are inverted

When setting data validation on a cell, it seems that all boolean in the struct (show_error, dropdown, etc...) are inverted. It must be set to false to be enabled and to true to disable it.

let mut data_validation = DataValidation::new(
    DataValidationType::List,
    DataValidationCriteria::EqualTo,
    DataValidationErrorType::Warning,
);

data_validation.show_error = false; // This displays the error when setting a wrong value
// data_validation.show_error = true; // This does not displays the error when setting a wrong value
data_validation.dropdown = false; // Same here
data_validation.error_title = Some("WRONG VALUE".to_owned());
data_validation.error_message = Some("WRONG VALUE".to_owned());
data_validation.value_list = Some(vec!["1".to_owned(), "2".to_owned(), "3".to_owned()]);

sheet1.data_validation_cell(1, 1, &data_validation)?;

Error building wasm32-wasi target

I have "xlsxwriter = "0.6.0".

When I run my Rust code independently it is fine and generating the excel file.

However, we are building all our services as wasm32-wasi target.

so when I run cargo build --target wasm32-wasi

I get this error

`
Compiling libxlsxwriter-sys v1.1.5
The following warnings were emitted during compilation:

warning: [email protected]: In file included from third_party/libxlsxwriter/third_party/tmpfileplus/tmpfileplus.c:87:
warning: [email protected]: third_party/libxlsxwriter/third_party/tmpfileplus/tmpfileplus.h:24:10: fatal error: 'stdio.h' file not found
warning: [email protected]: #include <stdio.h>
warning: [email protected]: ^~~~~~~~~
warning: [email protected]: 1 error generated.

error: failed to run custom build command for libxlsxwriter-sys v1.1.5

Caused by:
process didn't exit successfully: /<userdir>/Development/Workspace/Experiments/Rust/BasicExperiments/target/debug/build/libxlsxwriter-sys-49a12908f841cf26/build-script-build (exit status: 1)
--- stdout
TARGET = Some("wasm32-wasi")
OPT_LEVEL = Some("0")
HOST = Some("aarch64-apple-darwin")
cargo:rerun-if-env-changed=CC_wasm32-wasi
CC_wasm32-wasi = None
cargo:rerun-if-env-changed=CC_wasm32_wasi
CC_wasm32_wasi = None
cargo:rerun-if-env-changed=TARGET_CC
TARGET_CC = None
cargo:rerun-if-env-changed=CC
CC = None
cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
CRATE_CC_NO_DEFAULTS = None
DEBUG = Some("true")
cargo:rerun-if-env-changed=CFLAGS_wasm32-wasi
CFLAGS_wasm32-wasi = None
cargo:rerun-if-env-changed=CFLAGS_wasm32_wasi
CFLAGS_wasm32_wasi = None
cargo:rerun-if-env-changed=TARGET_CFLAGS
TARGET_CFLAGS = None
cargo:rerun-if-env-changed=CFLAGS
CFLAGS = None
cargo:rerun-if-env-changed=CC_wasm32-wasi
CC_wasm32-wasi = None
cargo:rerun-if-env-changed=CC_wasm32_wasi
CC_wasm32_wasi = None
cargo:rerun-if-env-changed=TARGET_CC
TARGET_CC = None
cargo:rerun-if-env-changed=CC
CC = None
cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
CRATE_CC_NO_DEFAULTS = None
cargo:rerun-if-env-changed=CFLAGS_wasm32-wasi
CFLAGS_wasm32-wasi = None
cargo:rerun-if-env-changed=CFLAGS_wasm32_wasi
CFLAGS_wasm32_wasi = None
cargo:rerun-if-env-changed=TARGET_CFLAGS
TARGET_CFLAGS = None
cargo:rerun-if-env-changed=CFLAGS
CFLAGS = None
cargo:rerun-if-env-changed=CC_wasm32-wasi
CC_wasm32-wasi = None
cargo:rerun-if-env-changed=CC_wasm32_wasi
CC_wasm32_wasi = None
cargo:rerun-if-env-changed=TARGET_CC
TARGET_CC = None
cargo:rerun-if-env-changed=CC
CC = None
cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
CRATE_CC_NO_DEFAULTS = None
cargo:rerun-if-env-changed=CFLAGS_wasm32-wasi
CFLAGS_wasm32-wasi = None
cargo:rerun-if-env-changed=CFLAGS_wasm32_wasi
CFLAGS_wasm32_wasi = None
cargo:rerun-if-env-changed=TARGET_CFLAGS
TARGET_CFLAGS = None
cargo:rerun-if-env-changed=CFLAGS
CFLAGS = None
cargo:rerun-if-env-changed=CC_ENABLE_DEBUG_OUTPUT
cargo:warning=In file included from third_party/libxlsxwriter/third_party/tmpfileplus/tmpfileplus.c:87:
cargo:warning=third_party/libxlsxwriter/third_party/tmpfileplus/tmpfileplus.h:24:10: fatal error: 'stdio.h' file not found
cargo:warning=#include <stdio.h>
cargo:warning= ^~~~~~~~~
cargo:warning=1 error generated.

--- stderr

error occurred: Command "clang" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "--target=wasm32-wasi" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-Wall" "-Wextra" "-DUSE_DTOA_LIBRARY" "-o" "//Development/Workspace/Experiments/Rust/BasicExperiments/target/wasm32-wasi/debug/build/libxlsxwriter-sys-6e61de6fd2205bef/out/6b75ae84905220c1-tmpfileplus.o" "-c" "third_party/libxlsxwriter/third_party/tmpfileplus/tmpfileplus.c" with args "clang" did not execute successfully (status code exit status: 1).

`

Problem compiling

Hello, I was trying to use the crate for a project I am making, but It doesn't seem to compile, and gives this error message before exiting:

error: failed to run custom build command for `libxlsxwriter-sys v0.9.4`

Caused by:
  process didn't exit successfully: `/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-2b0a0786c0fd9893/build-script-build` (exit code: 101)
--- stdout
TARGET = Some("x86_64-unknown-linux-gnu")
OPT_LEVEL = Some("1")
HOST = Some("x86_64-unknown-linux-gnu")
CC_x86_64-unknown-linux-gnu = None
CC_x86_64_unknown_linux_gnu = None
HOST_CC = None
CC = None
CFLAGS_x86_64-unknown-linux-gnu = None
CFLAGS_x86_64_unknown_linux_gnu = None
HOST_CFLAGS = None
CFLAGS = None
CRATE_CC_NO_DEFAULTS = None
DEBUG = Some("true")
CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2")
running: "cc" "-O1" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-Wall" "-Wextra" "-o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/third_party/tmpfileplus/tmpfileplus.o" "-c" "third_party/libxlsxwriter/third_party/tmpfileplus/tmpfileplus.c"
exit code: 0
running: "cc" "-O1" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-Wall" "-Wextra" "-o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/third_party/minizip/ioapi.o" "-c" "third_party/libxlsxwriter/third_party/minizip/ioapi.c"
exit code: 0
running: "cc" "-O1" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-Wall" "-Wextra" "-o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/third_party/minizip/zip.o" "-c" "third_party/libxlsxwriter/third_party/minizip/zip.c"
cargo:warning=In file included from third_party/libxlsxwriter/third_party/minizip/zip.c:186:
cargo:warning=third_party/libxlsxwriter/third_party/minizip/crypt.h: In function ‘decrypt_byte’:
cargo:warning=third_party/libxlsxwriter/third_party/minizip/crypt.h:35:62: warning: unused parameter ‘pcrc_32_tab’ [-Wunused-parameter]
cargo:warning=   35 | static int decrypt_byte(unsigned long* pkeys, const z_crc_t* pcrc_32_tab)
cargo:warning=      |                                               ~~~~~~~~~~~~~~~^~~~~~~~~~~
exit code: 0
running: "cc" "-O1" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-Wall" "-Wextra" "-o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/third_party/md5/md5.o" "-c" "third_party/libxlsxwriter/third_party/md5/md5.c"
exit code: 0
running: "cc" "-O1" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-Wall" "-Wextra" "-o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/src/app.o" "-c" "third_party/libxlsxwriter/src/app.c"
exit code: 0
running: "cc" "-O1" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-Wall" "-Wextra" "-o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/src/chart.o" "-c" "third_party/libxlsxwriter/src/chart.c"
exit code: 0
running: "cc" "-O1" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-Wall" "-Wextra" "-o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/src/chartsheet.o" "-c" "third_party/libxlsxwriter/src/chartsheet.c"
exit code: 0
running: "cc" "-O1" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-Wall" "-Wextra" "-o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/src/comment.o" "-c" "third_party/libxlsxwriter/src/comment.c"
exit code: 0
running: "cc" "-O1" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-Wall" "-Wextra" "-o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/src/content_types.o" "-c" "third_party/libxlsxwriter/src/content_types.c"
exit code: 0
running: "cc" "-O1" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-Wall" "-Wextra" "-o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/src/core.o" "-c" "third_party/libxlsxwriter/src/core.c"
exit code: 0
running: "cc" "-O1" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-Wall" "-Wextra" "-o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/src/custom.o" "-c" "third_party/libxlsxwriter/src/custom.c"
exit code: 0
running: "cc" "-O1" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-Wall" "-Wextra" "-o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/src/drawing.o" "-c" "third_party/libxlsxwriter/src/drawing.c"
exit code: 0
running: "cc" "-O1" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-Wall" "-Wextra" "-o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/src/format.o" "-c" "third_party/libxlsxwriter/src/format.c"
exit code: 0
running: "cc" "-O1" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-Wall" "-Wextra" "-o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/src/hash_table.o" "-c" "third_party/libxlsxwriter/src/hash_table.c"
exit code: 0
running: "cc" "-O1" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-Wall" "-Wextra" "-o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/src/packager.o" "-c" "third_party/libxlsxwriter/src/packager.c"
exit code: 0
running: "cc" "-O1" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-Wall" "-Wextra" "-o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/src/relationships.o" "-c" "third_party/libxlsxwriter/src/relationships.c"
exit code: 0
running: "cc" "-O1" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-Wall" "-Wextra" "-o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/src/shared_strings.o" "-c" "third_party/libxlsxwriter/src/shared_strings.c"
exit code: 0
running: "cc" "-O1" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-Wall" "-Wextra" "-o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/src/styles.o" "-c" "third_party/libxlsxwriter/src/styles.c"
exit code: 0
running: "cc" "-O1" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-Wall" "-Wextra" "-o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/src/theme.o" "-c" "third_party/libxlsxwriter/src/theme.c"
exit code: 0
running: "cc" "-O1" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-Wall" "-Wextra" "-o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/src/utility.o" "-c" "third_party/libxlsxwriter/src/utility.c"
exit code: 0
running: "cc" "-O1" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-Wall" "-Wextra" "-o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/src/vml.o" "-c" "third_party/libxlsxwriter/src/vml.c"
exit code: 0
running: "cc" "-O1" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-Wall" "-Wextra" "-o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/src/workbook.o" "-c" "third_party/libxlsxwriter/src/workbook.c"
exit code: 0
running: "cc" "-O1" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-Wall" "-Wextra" "-o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/src/worksheet.o" "-c" "third_party/libxlsxwriter/src/worksheet.c"
exit code: 0
running: "cc" "-O1" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-Wall" "-Wextra" "-o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/src/xmlwriter.o" "-c" "third_party/libxlsxwriter/src/xmlwriter.c"
exit code: 0
running: "cc" "-O1" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-Wall" "-Wextra" "-o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/zlib/adler32.o" "-c" "third_party/zlib/adler32.c"
exit code: 0
running: "cc" "-O1" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-Wall" "-Wextra" "-o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/zlib/compress.o" "-c" "third_party/zlib/compress.c"
exit code: 0
running: "cc" "-O1" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-Wall" "-Wextra" "-o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/zlib/crc32.o" "-c" "third_party/zlib/crc32.c"
exit code: 0
running: "cc" "-O1" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-Wall" "-Wextra" "-o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/zlib/deflate.o" "-c" "third_party/zlib/deflate.c"
exit code: 0
running: "cc" "-O1" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-Wall" "-Wextra" "-o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/zlib/gzclose.o" "-c" "third_party/zlib/gzclose.c"
exit code: 0
running: "cc" "-O1" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-Wall" "-Wextra" "-o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/zlib/gzlib.o" "-c" "third_party/zlib/gzlib.c"
cargo:warning=third_party/zlib/gzlib.c: In function ‘gz_open’:
cargo:warning=third_party/zlib/gzlib.c:14:17: warning: implicit declaration of function ‘lseek’; did you mean ‘fseek’? [-Wimplicit-function-declaration]
cargo:warning=   14 | #  define LSEEK lseek
cargo:warning=      |                 ^~~~~
cargo:warning=third_party/zlib/gzlib.c:252:9: note: in expansion of macro ‘LSEEK’
cargo:warning=  252 |         LSEEK(state->fd, 0, SEEK_END);  /* so gzoffset() is correct */
cargo:warning=      |         ^~~~~
exit code: 0
running: "cc" "-O1" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-Wall" "-Wextra" "-o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/zlib/gzread.o" "-c" "third_party/zlib/gzread.c"
cargo:warning=third_party/zlib/gzread.c: In function ‘gz_load’:
cargo:warning=third_party/zlib/gzread.c:35:15: warning: implicit declaration of function ‘read’; did you mean ‘fread’? [-Wimplicit-function-declaration]
cargo:warning=   35 |         ret = read(state->fd, buf + *have, get);
cargo:warning=      |               ^~~~
cargo:warning=      |               fread
cargo:warning=third_party/zlib/gzread.c: In function ‘gzclose_r’:
cargo:warning=third_party/zlib/gzread.c:651:11: warning: implicit declaration of function ‘close’; did you mean ‘pclose’? [-Wimplicit-function-declaration]
cargo:warning=  651 |     ret = close(state->fd);
cargo:warning=      |           ^~~~~
cargo:warning=      |           pclose
exit code: 0
running: "cc" "-O1" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-Wall" "-Wextra" "-o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/zlib/gzwrite.o" "-c" "third_party/zlib/gzwrite.c"
cargo:warning=third_party/zlib/gzwrite.c: In function ‘gz_comp’:
cargo:warning=third_party/zlib/gzwrite.c:89:20: warning: implicit declaration of function ‘write’; did you mean ‘fwrite’? [-Wimplicit-function-declaration]
cargo:warning=   89 |             writ = write(state->fd, strm->next_in, put);
cargo:warning=      |                    ^~~~~
cargo:warning=      |                    fwrite
cargo:warning=third_party/zlib/gzwrite.c: In function ‘gzclose_w’:
cargo:warning=third_party/zlib/gzwrite.c:661:9: warning: implicit declaration of function ‘close’; did you mean ‘pclose’? [-Wimplicit-function-declaration]
cargo:warning=  661 |     if (close(state->fd) == -1)
cargo:warning=      |         ^~~~~
cargo:warning=      |         pclose
exit code: 0
running: "cc" "-O1" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-Wall" "-Wextra" "-o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/zlib/infback.o" "-c" "third_party/zlib/infback.c"
cargo:warning=third_party/zlib/infback.c: In function ‘inflateBack’:
cargo:warning=third_party/zlib/infback.c:479:25: warning: this statement may fall through [-Wimplicit-fallthrough=]
cargo:warning=  479 |             state->mode = LEN;
cargo:warning=      |             ~~~~~~~~~~~~^~~~~
cargo:warning=third_party/zlib/infback.c:481:9: note: here
cargo:warning=  481 |         case LEN:
cargo:warning=      |         ^~~~
exit code: 0
running: "cc" "-O1" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-Wall" "-Wextra" "-o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/zlib/inffast.o" "-c" "third_party/zlib/inffast.c"
exit code: 0
running: "cc" "-O1" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-Wall" "-Wextra" "-o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/zlib/inflate.o" "-c" "third_party/zlib/inflate.c"
cargo:warning=third_party/zlib/inflate.c: In function ‘inflate’:
cargo:warning=third_party/zlib/inflate.c:742:25: warning: this statement may fall through [-Wimplicit-fallthrough=]
cargo:warning=  742 |             state->mode = EXLEN;
cargo:warning=      |             ~~~~~~~~~~~~^~~~~~~
cargo:warning=third_party/zlib/inflate.c:743:9: note: here
cargo:warning=  743 |         case EXLEN:
cargo:warning=      |         ^~~~
cargo:warning=third_party/zlib/inflate.c:755:25: warning: this statement may fall through [-Wimplicit-fallthrough=]
cargo:warning=  755 |             state->mode = EXTRA;
cargo:warning=      |             ~~~~~~~~~~~~^~~~~~~
cargo:warning=third_party/zlib/inflate.c:756:9: note: here
cargo:warning=  756 |         case EXTRA:
cargo:warning=      |         ^~~~
cargo:warning=third_party/zlib/inflate.c:777:25: warning: this statement may fall through [-Wimplicit-fallthrough=]
cargo:warning=  777 |             state->mode = NAME;
cargo:warning=      |             ~~~~~~~~~~~~^~~~~~
cargo:warning=third_party/zlib/inflate.c:778:9: note: here
cargo:warning=  778 |         case NAME:
cargo:warning=      |         ^~~~
cargo:warning=third_party/zlib/inflate.c:798:25: warning: this statement may fall through [-Wimplicit-fallthrough=]
cargo:warning=  798 |             state->mode = COMMENT;
cargo:warning=      |             ~~~~~~~~~~~~^~~~~~~~~
cargo:warning=third_party/zlib/inflate.c:799:9: note: here
cargo:warning=  799 |         case COMMENT:
cargo:warning=      |         ^~~~
cargo:warning=third_party/zlib/inflate.c:818:25: warning: this statement may fall through [-Wimplicit-fallthrough=]
cargo:warning=  818 |             state->mode = HCRC;
cargo:warning=      |             ~~~~~~~~~~~~^~~~~~
cargo:warning=third_party/zlib/inflate.c:819:9: note: here
cargo:warning=  819 |         case HCRC:
cargo:warning=      |         ^~~~
cargo:warning=third_party/zlib/inflate.c:841:25: warning: this statement may fall through [-Wimplicit-fallthrough=]
cargo:warning=  841 |             state->mode = DICT;
cargo:warning=      |             ~~~~~~~~~~~~^~~~~~
cargo:warning=third_party/zlib/inflate.c:842:9: note: here
cargo:warning=  842 |         case DICT:
cargo:warning=      |         ^~~~
cargo:warning=third_party/zlib/inflate.c:848:25: warning: this statement may fall through [-Wimplicit-fallthrough=]
cargo:warning=  848 |             state->mode = TYPE;
cargo:warning=      |             ~~~~~~~~~~~~^~~~~~
cargo:warning=third_party/zlib/inflate.c:849:9: note: here
cargo:warning=  849 |         case TYPE:
cargo:warning=      |         ^~~~
cargo:warning=third_party/zlib/inflate.c:850:16: warning: this statement may fall through [-Wimplicit-fallthrough=]
cargo:warning=  850 |             if (flush == Z_BLOCK || flush == Z_TREES) goto inf_leave;
cargo:warning=      |                ^
cargo:warning=third_party/zlib/inflate.c:851:9: note: here
cargo:warning=  851 |         case TYPEDO:
cargo:warning=      |         ^~~~
cargo:warning=third_party/zlib/inflate.c:900:16: warning: this statement may fall through [-Wimplicit-fallthrough=]
cargo:warning=  900 |             if (flush == Z_TREES) goto inf_leave;
cargo:warning=      |                ^
cargo:warning=third_party/zlib/inflate.c:901:9: note: here
cargo:warning=  901 |         case COPY_:
cargo:warning=      |         ^~~~
cargo:warning=third_party/zlib/inflate.c:902:25: warning: this statement may fall through [-Wimplicit-fallthrough=]
cargo:warning=  902 |             state->mode = COPY;
cargo:warning=      |             ~~~~~~~~~~~~^~~~~~
cargo:warning=third_party/zlib/inflate.c:903:9: note: here
cargo:warning=  903 |         case COPY:
cargo:warning=      |         ^~~~
cargo:warning=third_party/zlib/inflate.c:1041:16: warning: this statement may fall through [-Wimplicit-fallthrough=]
cargo:warning= 1041 |             if (flush == Z_TREES) goto inf_leave;
cargo:warning=      |                ^
cargo:warning=third_party/zlib/inflate.c:1042:9: note: here
cargo:warning= 1042 |         case LEN_:
cargo:warning=      |         ^~~~
cargo:warning=third_party/zlib/inflate.c:1043:25: warning: this statement may fall through [-Wimplicit-fallthrough=]
cargo:warning= 1043 |             state->mode = LEN;
cargo:warning=      |             ~~~~~~~~~~~~^~~~~
cargo:warning=third_party/zlib/inflate.c:1044:9: note: here
cargo:warning= 1044 |         case LEN:
cargo:warning=      |         ^~~~
cargo:warning=third_party/zlib/inflate.c:1092:25: warning: this statement may fall through [-Wimplicit-fallthrough=]
cargo:warning= 1092 |             state->mode = LENEXT;
cargo:warning=      |             ~~~~~~~~~~~~^~~~~~~~
cargo:warning=third_party/zlib/inflate.c:1093:9: note: here
cargo:warning= 1093 |         case LENEXT:
cargo:warning=      |         ^~~~
cargo:warning=third_party/zlib/inflate.c:1102:25: warning: this statement may fall through [-Wimplicit-fallthrough=]
cargo:warning= 1102 |             state->mode = DIST;
cargo:warning=      |             ~~~~~~~~~~~~^~~~~~
cargo:warning=third_party/zlib/inflate.c:1103:9: note: here
cargo:warning= 1103 |         case DIST:
cargo:warning=      |         ^~~~
cargo:warning=third_party/zlib/inflate.c:1129:25: warning: this statement may fall through [-Wimplicit-fallthrough=]
cargo:warning= 1129 |             state->mode = DISTEXT;
cargo:warning=      |             ~~~~~~~~~~~~^~~~~~~~~
cargo:warning=third_party/zlib/inflate.c:1130:9: note: here
cargo:warning= 1130 |         case DISTEXT:
cargo:warning=      |         ^~~~
cargo:warning=third_party/zlib/inflate.c:1145:25: warning: this statement may fall through [-Wimplicit-fallthrough=]
cargo:warning= 1145 |             state->mode = MATCH;
cargo:warning=      |             ~~~~~~~~~~~~^~~~~~~
cargo:warning=third_party/zlib/inflate.c:1146:9: note: here
cargo:warning= 1146 |         case MATCH:
cargo:warning=      |         ^~~~
cargo:warning=third_party/zlib/inflate.c:1220:25: warning: this statement may fall through [-Wimplicit-fallthrough=]
cargo:warning= 1220 |             state->mode = LENGTH;
cargo:warning=      |             ~~~~~~~~~~~~^~~~~~~~
cargo:warning=third_party/zlib/inflate.c:1221:9: note: here
cargo:warning= 1221 |         case LENGTH:
cargo:warning=      |         ^~~~
cargo:warning=third_party/zlib/inflate.c:1233:25: warning: this statement may fall through [-Wimplicit-fallthrough=]
cargo:warning= 1233 |             state->mode = DONE;
cargo:warning=      |             ~~~~~~~~~~~~^~~~~~
cargo:warning=third_party/zlib/inflate.c:1234:9: note: here
cargo:warning= 1234 |         case DONE:
cargo:warning=      |         ^~~~
exit code: 0
running: "cc" "-O1" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-Wall" "-Wextra" "-o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/zlib/inftrees.o" "-c" "third_party/zlib/inftrees.c"
exit code: 0
running: "cc" "-O1" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-Wall" "-Wextra" "-o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/zlib/trees.o" "-c" "third_party/zlib/trees.c"
exit code: 0
running: "cc" "-O1" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-Wall" "-Wextra" "-o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/zlib/uncompr.o" "-c" "third_party/zlib/uncompr.c"
exit code: 0
running: "cc" "-O1" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "third_party/libxlsxwriter/include" "-I" "third_party/zlib" "-Wall" "-Wextra" "-o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/zlib/zutil.o" "-c" "third_party/zlib/zutil.c"
exit code: 0
AR_x86_64-unknown-linux-gnu = None
AR_x86_64_unknown_linux_gnu = None
HOST_AR = None
AR = None
running: "ar" "crs" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/libxlsxwriter.a" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/third_party/tmpfileplus/tmpfileplus.o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/third_party/minizip/ioapi.o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/third_party/minizip/zip.o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/third_party/md5/md5.o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/src/app.o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/src/chart.o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/src/chartsheet.o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/src/comment.o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/src/content_types.o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/src/core.o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/src/custom.o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/src/drawing.o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/src/format.o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/src/hash_table.o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/src/packager.o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/src/relationships.o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/src/shared_strings.o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/src/styles.o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/src/theme.o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/src/utility.o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/src/vml.o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/src/workbook.o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/src/worksheet.o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/libxlsxwriter/src/xmlwriter.o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/zlib/adler32.o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/zlib/compress.o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/zlib/crc32.o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/zlib/deflate.o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/zlib/gzclose.o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/zlib/gzlib.o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/zlib/gzread.o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/zlib/gzwrite.o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/zlib/infback.o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/zlib/inffast.o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/zlib/inflate.o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/zlib/inftrees.o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/zlib/trees.o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/zlib/uncompr.o" "/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out/third_party/zlib/zutil.o"
exit code: 0
cargo:rustc-link-lib=static=xlsxwriter
cargo:rustc-link-search=native=/home/xxxxxxxxxxx/Desktop/rust_projects/corona-xlsx/target/debug/build/libxlsxwriter-sys-d281c33508c5b7f9/out
cargo:warning=couldn't execute `llvm-config --prefix` (error: No such file or directory (os error 2))
cargo:warning=set the LLVM_CONFIG_PATH environment variable to the full path to a valid `llvm-config` executable (including the executable itself)

--- stderr
thread 'main' panicked at 'Unable to find libclang: "couldn\'t find any valid shared libraries matching: [\'libclang.so\', \'libclang-*.so\', \'libclang.so.*\', \'libclang-*.so.*\'], set the `LIBCLANG_PATH` environment variable to a path where one of these files can be found (invalid: [])"', /home/xxxxxxxxxxx/.cargo/registry/src/github.com-1ecc6299db9ec823/bindgen-0.53.3/src/lib.rs:1956:13
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

I am on ubuntu focal fossa and using stable rust. It seems that I need the libclang.so libraries. where can I download these from?

Not able to export the huge data (more than 32767 characters)

use xlsxwriter::{ Workbook};

fn main() -> Result<(), xlsxwriter::XlsxError> {
    let workbook = Workbook::new("target/test.xlsx")?;

    let mut sheet1 = workbook.add_worksheet(None)?;

    
    sheet1.write_string(
        1,
        0,
       "more than 32767 characters string",
        None,
    )?;
     
    workbook.close()
}

Getting below error

Error: XlsxError { source: LibXlsxWriter(21) } The terminal process "cargo 'run', '--package', 'hello-rust', '--bin', 'hello-rust'" terminated with exit code: 1.

Screenshot 2023-03-02 at 5 31 42 PM

Color fine alpha management

Hello, would it be possible to use custom colors (such as a HEX, or a RGB with alpha), for example for FormatColor?
I think we could use FormatColor::Custom(0x12_34_56) for custom color, but I don't see how to handle the alpha for transparency.
Do you have any idea on how to do so?

Change ErrorAlert and InputMessage to builder pattern

I noticed that the build pattern for these two structs in DataValidation are probably better off in a builder pattern because some of their fields are not important to make sure are set.

You can just assign this to me and I'll do it soon, but I wanted to get this out so there can be feedback on the idea.

`freeze_panes` does not appear to work

...or, if it does, I'm simply completely misunderstanding it.

I need to freeze the header (row 0) and the first two columns (columns 0 and 1). No matter where I place the call to freeze_panes, the rows/columns do not actually freeze.

(Grepping around the internet for logic regarding the inner workings of Excel is 100% not my strength, so if I'm missing something please let me know)

How to create a cell with a time value?

I want to create a cell with a time value so that I have for example

  • as value 05:00:00 PM
  • formatted as 17:00

Important: There should be no date here.

In Libreoffice in Format Cells I would see

  • Category: Time
  • Format code: HH:MM

Creating the format sems easy

    let datetime_format = workbook.add_format()
         .set_num_format("hh:mm");

But I have no idea how to add a cell with a value, say 14:45h.

Make DataValidationType a data-bound enum

It would probably be very "rusty" to change the data validation type from a blank enum with possibly unused fields to an enum with fields like so

pub enum DataValidationType {
    None,
    Integer(i64),
    List(Vec<String>)
}

and so on.
If that's too much work I will look into it, but it would probably be good to leverage the type system to ensure data field completeness at the point where Rust usually expects it.

Compile failed of v0.5.0 on ARM Mac Osx

Hello there!

I'm trying to compile a project which depends on xlsxwriter version 0.4.0. I immediately encountered the problem addressed here so I have upgraded its version to 0.5.0.

The problem above has gone away but unfortunately I have another problem when trying to compile:

#26 286.6    Compiling xlsxwriter v0.5.0
#26 286.7 error[E0412]: cannot find type `c_char` in module `std::ffi`
#26 286.7    --> /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/xlsxwriter-0.5.0/src/worksheet/filter.rs:108:91
#26 286.7     |
#26 286.7 108 |             value_string: c_string_helper.add_opt(self.value.to_str())? as *mut std::ffi::c_char,
#26 286.7     |                                                                                           ^^^^^^ not found in `std::ffi`
#26 286.7     |
#26 286.7 help: consider importing one of these items
#26 286.7     |
#26 286.7 1   | use crate::c_char;
#26 286.7     |
#26 286.7 1   | use std::os::raw::c_char;
#26 286.7     |
#26 286.7 
#26 286.7 error[E0412]: cannot find type `c_char` in module `std::ffi`
#26 286.7    --> /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/xlsxwriter-0.5.0/src/worksheet/filter.rs:271:70
#26 286.7     |
#26 286.7 271 |                 .map(|x| Ok(cstring_helper.add(x)? as *mut std::ffi::c_char)),
#26 286.7     |                                                                      ^^^^^^ not found in `std::ffi`
#26 286.7     |
#26 286.7 help: consider importing one of these items
#26 286.7     |
#26 286.7 1   | use crate::c_char;
#26 286.7     |
#26 286.7 1   | use std::os::raw::c_char;
#26 286.7     |
#26 286.7 
#26 286.7 error[E0412]: cannot find type `c_char` in module `std::ffi`
#26 286.7    --> /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/xlsxwriter-0.5.0/src/worksheet/mod.rs:338:93
#26 286.7     |
#26 286.7 338 |             author: workbook.register_option_str(self.author.as_deref())? as *mut std::ffi::c_char,
#26 286.7     |                                                                                             ^^^^^^ not found in `std::ffi`
#26 286.7     |
#26 286.7 help: consider importing one of these items
#26 286.7     |
#26 286.7 5   | use crate::c_char;
#26 286.7     |
#26 286.7 5   | use std::os::raw::c_char;
#26 286.7     |
#26 286.7 
#26 286.7 error[E0412]: cannot find type `c_char` in module `std::ffi`
#26 286.7    --> /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/xlsxwriter-0.5.0/src/worksheet/mod.rs:345:35
#26 286.7     |
#26 286.7 345 |                 as *mut std::ffi::c_char,
#26 286.7     |                                   ^^^^^^ not found in `std::ffi`
#26 286.7     |
#26 286.7 help: consider importing one of these items
#26 286.7     |
#26 286.7 5   | use crate::c_char;
#26 286.7     |
#26 286.7 5   | use std::os::raw::c_char;
#26 286.7     |
#26 286.7 
#

It seems to be another problem linked to ARM. The compiler suggests to import some additional crates in xslxwriter.

Thank you!

Copy or clone format?

Is it possible to copy or clone a format to avoid code repetition?

use xlsxwriter::*;

fn main() -> Result<(), xlsxwriter::XlsxError> {
    let workbook = Workbook::new("test.xlsx");

    let format1 = workbook.add_format()
        .set_font_color(FormatColor::Green)
        .set_align(FormatAlignment::CenterAcross)
        .set_align(FormatAlignment::VerticalCenter);

    let mut format2 = format1.clone();
    format2.set_font_color(FormatColor::Red);
    // OR
    let mut format3 = workbook.add_format();
    format3.copy(&format1);
    format3.set_bg_color(FormatColor::Red);
    
    // ...
}

Paste a link with text alt in a cell

I'd like to paste a text saying "Photo 1" which, upon click, leads to some photo link. It should look like this (in Ukrainian):

зображення

Is it possible via current means of xlsxwriter-rs?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.