Current section
Files
Jump to
Current section
Files
test/book_test.exs
defmodule BookTest do
use ExUnit.Case
doctest ElixirLibxl
test "book" do
xls_file = Application.app_dir(:elixir_libxl, "priv/test") <> "/insert.xls"
out_xls_file = Application.app_dir(:elixir_libxl, "priv/test") <> "/out.xls"
tmp_file = Application.app_dir(:elixir_libxl, "priv/test") <> "/tmp"
#
ElixirLibxl.xlCreateBook() |> ElixirLibxl.xlBookRelease()
ElixirLibxl.xlCreateXMLBook() |> ElixirLibxl.xlBookRelease()
handle = ElixirLibxl.xlCreateBook()
assert ElixirLibxl.xlBookLoad(handle, xls_file) == 1
ElixirLibxl.xlBookRelease(handle)
#
handle = ElixirLibxl.xlCreateBook()
assert ElixirLibxl.xlBookLoad(handle, xls_file) == 1
assert ElixirLibxl.xlBookSave(handle, out_xls_file) == 1
ElixirLibxl.xlBookRelease(handle)
#
handle = ElixirLibxl.xlCreateBook()
assert ElixirLibxl.xlBookLoadUsingTempFile(handle, xls_file, tmp_file) == 1
assert ElixirLibxl.xlBookLoadPartially(handle, xls_file, 0, 0, 0, 0) == 1
assert ElixirLibxl.xlBookLoadPartiallyUsingTempFile(handle, xls_file, 0, 0, 0, tmp_file, 0) == 1
assert ElixirLibxl.xlBookLoadWithoutEmptyCells(handle, xls_file) == 1
assert ElixirLibxl.xlBookLoadInfo(handle, xls_file) == 1
assert ElixirLibxl.xlBookSaveUsingTempFile(handle, out_xls_file, 1) == 1
ElixirLibxl.xlBookRelease(handle)
#
handle = ElixirLibxl.xlCreateBook()
assert ElixirLibxl.xlBookLoad(handle, xls_file) == 1
#assert ElixirLibxl.xlBookSetLocale(handle, "ja_JP.UTF-8") == 1
ElixirLibxl.xlBookSetTemplate(handle, 1)
assert ElixirLibxl.xlBookIsTemplate(handle) == 1
ElixirLibxl.xlBookSetDate1904(handle, 0)
assert ElixirLibxl.xlBookIsDate1904(handle) == 0
assert ElixirLibxl.xlBookBiffVersion(handle) == 1536
assert ElixirLibxl.xlBookVersion(handle) > 0
ElixirLibxl.xlBookSetCalcMode(handle, 1)
assert ElixirLibxl.xlBookCalcMode(handle) == 1
ElixirLibxl.xlBookSetRgbMode(handle, 1)
assert ElixirLibxl.xlBookRgbMode(handle) == 1
ElixirLibxl.xlBookSetRefR1C1(handle, 1)
assert ElixirLibxl.xlBookRefR1C1(handle) == 1
ElixirLibxl.xlBookSetDefaultFont(handle, "test", 1)
ElixirLibxl.xlBookSetActiveSheet(handle, 0)
font_handle = ElixirLibxl.xlBookFont(handle, 0)
_font_handle = ElixirLibxl.xlBookAddFont(handle, font_handle)
assert ElixirLibxl.xlBookFontSize(handle) == 25
assert ElixirLibxl.xlBookDefaultFont(handle) == ["test", 1]
format_handle = ElixirLibxl.xlBookFormat(handle, 0)
_format_handle = ElixirLibxl.xlBookAddFormat(handle, format_handle)
assert ElixirLibxl.xlBookAddCustomNumFormat(handle, "####.#") == 164
assert ElixirLibxl.xlBookCustomNumFormat(handle, 1) == nil
assert ElixirLibxl.xlBookFormatSize(handle) == 64
ElixirLibxl.xlBookSetKey(handle, "test", "test")
assert ElixirLibxl.xlBookAddPicture(handle, Application.app_dir(:elixir_libxl, "priv/test") <> "/logo.png") == 0
data = File.stream!(Application.app_dir(:elixir_libxl, "priv/test") <> "/logo.png")
|> Enum.join(<<>>)
size = Application.app_dir(:elixir_libxl, "priv/test") <> "/logo.png"
|> File.stat!()
|> Map.get(:size)
assert ElixirLibxl.xlBookAddPicture2(handle, data, size) == 1
assert ElixirLibxl.xlBookAddPictureAsLink(handle, Application.app_dir(:elixir_libxl, "priv/test") <> "/logo.png", 0) == -1
assert ElixirLibxl.xlBookPictureSize(handle) == 2
ElixirLibxl.xlBookGetPicture(handle, 0)
color = ElixirLibxl.xlBookColorPack(handle, 255, 255, 255)
assert color == 9
assert ElixirLibxl.xlBookColorUnpack(handle, color)
date = ElixirLibxl.xlBookDatePack(handle, 2022, 1, 1, 1, 1, 1, 1)
assert date == 44562.042372696764
assert ElixirLibxl.xlBookDateUnpack(handle, date) == [1, 2022, 1, 1, 1, 1, 1, 1]
assert ElixirLibxl.xlBookSaveRaw(handle) |> Enum.at(0) == 1
ElixirLibxl.xlBookAddRichString(handle)
sheet_handle = ElixirLibxl.xlBookGetSheet(handle, 0)
ElixirLibxl.xlBookAddSheet(handle, "test", sheet_handle)
ElixirLibxl.xlBookInsertSheet(handle, 0, "test", sheet_handle)
assert ElixirLibxl.xlBookGetSheetName(handle, 0) == "Sheet1"
assert ElixirLibxl.xlBookSheetType(handle, 0) == 0
assert ElixirLibxl.xlBookMoveSheet(handle, 0, 1) == 0
assert ElixirLibxl.xlBookSheetCount(handle) == 2
assert ElixirLibxl.xlBookActiveSheet(handle) == 0
assert ElixirLibxl.xlBookDelSheet(handle, 0) == 1
assert ElixirLibxl.xlBookErrorMessage(handle) == "ok"
ElixirLibxl.xlBookRelease(handle)
end
end