廢話不多說, 直接給連線
https://files.cnblogs.com/files/blogs/762462/libxl.7z?t=1713539927&download=true
執行效果:
檔案存放路徑:
再上程式碼
import dotNet
import console
xl = dotNet.load("libxl.net", "libxl.net.dll");
xl.import("libxl");
// aardio 的程式碼
try
{
var book = libxl.BinBook(); // use XmlBook() for xlsx
var sheet = book.addSheet("Sheet1");
sheet.writeStr(2, 1, "Hello, World !");
sheet.writeNum(3, 1, 1000);
book.save("example.xls");
}
catch (e)
{
console.print(e)
}
console.pause()
這裡跟官網貼出的c#程式碼對比一下
class Program
{
// 官網的 C# 程式碼
static void Main(string[] args)
{
try
{
Book book = new BinBook(); // use XmlBook() for xlsx
Sheet sheet = book.addSheet("Sheet1");
sheet.writeStr(2, 1, "Hello, World !");
sheet.writeNum(3, 1, 1000);
book.save("example.xls");
}
catch (System.Exception e)
{
Console.WriteLine(e.Message);
}
}
}
原本想用 libxl 讀寫 excel 檔案, 就打算用 aardio 呼叫 C語言 dll 的方式執行
結果讓搞的焦頭爛額, 突然發現 libxl 本身就有 C# 的呼叫庫, 直接匯入, 瞬間感覺世界清靜.
想打包獨立檔案直接用 aardio 自帶工具即可.
這裡再給出一個示例:
import dotNet
import console
xl = dotNet.load("libxl.net", "libxl.net.dll");
xl.import("libxl");
var book = libxl.BinBook();
var font = book.addFont();
font.size = 36;
var format = book.addFormat();
format.alignH = libxl.AlignH.ALIGNH_CENTER;
format.setBorder(libxl.BorderStyle.BORDERSTYLE_MEDIUMDASHDOTDOT);
format.setBorderColor(libxl.Color.COLOR_RED);
format.font = font;
var sheet = book.addSheet("Sheet1");
sheet.writeStr(2, 1, "Format", format);
sheet.setCol(1, 1, 25);
book.save("format.xls");
console.pause()
可以看到, 轉換規則就是型別名全部替換為 var
, 然後設定的屬性值新增 libxl
字首即可.
如果碰到 ref
引用, 像下面這樣呼叫即可
import dotNet
import console
xl = dotNet.load("libxl.net", "libxl.net.dll");
xl.import("libxl");
try
{
var book = libxl.BinBook();
var year = dotNet.int(0, true)
var month = dotNet.int(0, true)
var day = dotNet.int(0, true)
// public bool dateUnpack(double value, ref int year, ref int month, ref int day)
book.dateUnpack(43210.0, year, month, day)
console.print(year, month, day)
}
catch (e)
{
console.print(e)
}
console.pause()
於是, 可以參照官方的 C# 文件愉快的進行開發了.