Skip to content

GST-Main/xlsxwriter.swift

 
 

Repository files navigation

xlsxwriter.swift

xlsxwriter.swift: A wrapper in Swift around Libxlsxwriter for creating Excel XLSX files.

import xlsxwriter

// Create a new workbook and add a worksheet.
var wb = Workbook(name: "demo.xlsx")
defer { wb.close() }
let ws = wb.addWorksheet()

// Add a format.
let format = wb.addFormat()

// Set the bold property for the format
format.bold()

// Write some simple text.
ws.write(.string("Hello"), [0, 0])

// Text with formatting.
ws.write(.string("World"), [0, 1], format: format)

Installation

First install the libxlswriter C library on your system. See Getting started.

Alternatively, you can use SPM branch, then the library will also be compiled with the Swift Package Manager.

Swift Package Manager

The Swift Package Manager is a tool for managing the distribution of Swift code.

  1. Add the following to your Package.swift file:
dependencies: [
    .package(url: "https://github.com/damuellen/xlsxwriter.swift", branch: "main")
]
  1. Build your project:

(*nix)

$ swift build

(Windows only)

$ swift build -Xswiftc -LC:/vcpkg/installed/x64-windows/lib/ -Xcc -IC:/vcpkg/installed/x64-windows/include/

Attention: Install the libxlsxwriter c library first, not part of the build.

or Alternative method (use the SPM Branch, the library is compiled as part of the build.)

  1. Add the following to your Package.swift file:
dependencies: [
    .package(url: "https://github.com/damuellen/xlsxwriter.swift", branch: "SPM")
]

The libxlsxwriter library

Libxlsxwriter is a C library that can be used to write text, numbers, formulas and hyperlinks to multiple worksheets in an Excel 2007+ XLSX file.

It supports features such as:

  • 100% compatible Excel XLSX files.
  • Full Excel formatting.
  • Merged cells.
  • Defined names.
  • Autofilters.
  • Charts.
  • Data validation and drop down lists.
  • Conditional formatting.
  • Worksheet PNG/JPEG images.
  • Cell comments.
  • Support for adding Macros.
  • Memory optimization mode for writing large files.
  • Source code available on GitHub.
  • FreeBSD license.
  • ANSI C.
  • Works with GCC, Clang, Xcode, MSVC 2015, ICC, TCC, MinGW, MingGW-w64/32.
  • Works on Linux, FreeBSD, OpenBSD, OS X, iOS and Windows. Also works on MSYS/MSYS2 and Cygwin.
  • Compiles for 32 and 64 bit.
  • Compiles and works on big and little endian systems.
  • The only dependency is on zlib.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 60.8%
  • Shell 36.1%
  • Dockerfile 2.2%
  • Other 0.9%