当前位置:网站首页>Xlslib use
Xlslib use
2022-04-23 18:52:00 【Brick Porter】
xlslib It's open source and free xls Build a library . No installation required office.
compile :
stay windows Compiling under is relatively simple , Navigate directly to the directory xlslib\build Find the corresponding VS edition , If you use the new version, you can use the upgrade of the old version . Of course, some project documents have some holes , The corresponding modification of compilation , There is also the wrong configuration , such as 2012 My directory is still 2010 The file cannot be found later . These should be carefully revised . Besides, it doesn't use itself def Nor is it defined in the header file __declspec(dllexport) Export and so on , So only generate dll It's not lib Of documents . It provides a createDLL Project , After looking at it, it seems that it is generated during project generation map file , And then through map file , Generate DEF file , Call again link.exe Generate dll and lib.
Easy to use ,lib And header files are adjusted according to the implementation location . Switching tables does not seem to support switching through table names , Of course, I tried ,excel You can't have a table name with the same name in , So build your own map To save the table name and the corresponding idx That's it . Besides dump Wide characters are not supported , Just add one by yourself , This can avoid the problem of saving Chinese file names on some foreign language systems .
# define CPP_BRIDGE_XLS
#include "..\xlslibsrc\xlslib.h"
#ifdef WIN64
#pragma comment(lib,"../lib/xlslib_dll_x64.lib")
#else
#pragma comment(lib,"../lib/xlslib_dll.lib")
#endif // X64
class CXlsLib
{
private:
// Cell
//cell_t* cell;
//font_t* _font;
//xf_t* xf;
// //pWS->defaultColwidth(25); // Set the default column width
//pWS->defaultRowHeight(30); // Set the default row height
//_font = pWB.font("Arial");
//_font->SetBoldStyle(BOLDNESS_BOLD); // Set bold font
//_font->SetHeight(220); // Set font size 11
//xf = pWB.xformat();
//xf->SetFont(_font);
//xf->SetFillBGColor(CLR_WHITE);
//xf->SetFillFGColor(CLR_RED);
// workbook
workbook m_pWB;
// Worksheet for the current operation
worksheet* m_pWS=NULL;
public:
// Get the workbooks
workbook& GetWorkBook()
{
return m_pWB;
}
// Get current worksheet
worksheet* GetCurWorksheet()
{
return m_pWS;
}
// Create a new worksheet
worksheet* CreateWorkSheet(const std::wstring& SheetName)
{
m_pWS = m_pWB.sheet(SheetName);
if (m_pWS)
{
m_pWS->MakeActive();
return m_pWS;
}
return NULL;
}
// Switch tables
worksheet* SelWordSheet(unsigned16_t SheetIdx)
{
worksheet* _pWS = m_pWB.GetSheet(SheetIdx);
if (_pWS)
{
_pWS->MakeActive();
m_pWS = _pWS;
}
return _pWS;
}
// from 0 Start
cell_t* InsData(int row, int col, const std::wstring str)
{
if (m_pWS)
return m_pWS->label(row, col, str);
return NULL;
}
// from 0 Start
cell_t* InsData(int row, int col, double num)
{
if (m_pWS)
return m_pWS->number(row, col, num);
return NULL;
}
// Save as xls file
int SaveExcelFile(const std::wstring& FileName)
{
return m_pWB.Dump(FileName);
}
};
版权声明
本文为[Brick Porter]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/04/202204210603257392.html
边栏推荐
- [today in history] April 23: the first video uploaded on YouTube; Netease cloud music officially launched; The inventor of digital audio player was born
- The type initializer for ‘Gdip‘ threw an exception
- iptables -L执行缓慢
- ESP32 LVGL8. 1 - input devices (input devices 18)
- 深入理解 Golang 中的 new 和 make 是什么, 差异在哪?
- Setting up keil environment of GD single chip microcomputer
- Sentinel service fusing practice (sentinel integration ribbon + openfeign + fallback)
- 机器学习实战 -朴素贝叶斯
- Scrollto and scrollby
- ESP32 LVGL8. 1 - arc (arc 19)
猜你喜欢
ESP32 LVGL8. 1. Detailed migration tutorial of m5stack + lvgl + IDF (27)
Introduction to ROS learning notes (II)
[today in history] April 23: the first video uploaded on YouTube; Netease cloud music officially launched; The inventor of digital audio player was born
Use bitnami / PostgreSQL repmgr image to quickly set up PostgreSQL ha
mysql_ Download and installation of Linux version
Excel intercept text
iptables -L执行缓慢
Machine learning practice - naive Bayes
Machine learning theory (7): kernel function kernels -- a way to help SVM realize nonlinear decision boundary
【C语言进阶11——字符和字符串函数及其模拟实现(2))】
随机推荐
简化路径(力扣71)
os_authent_prefix
迁移学习进阶
使用 bitnami/postgresql-repmgr 镜像快速设置 PostgreSQL HA
纠结
回路-通路
ESP32 LVGL8. 1 - input devices (input devices 18)
ESP32 LVGL8. 1 - roller rolling (roller 24)
Domestic GD chip can filter
22年字节跳动飞书人力套件三面面经
mysql_linux版本的下载及安装详解
12 examples to consolidate promise Foundation
Deeply understand what new and make in golang are and what are the differences?
Database computer experiment 4 (data integrity and stored procedure)
ESP32 LVGL8. 1 - BTN button (BTN 15)
Introduction to ROS learning notes (I)
After CANopen starts PDO timing transmission, the heartbeat frame time is wrong, PDO is delayed, and CANopen time axis is disordered
Configure iptables
7、 DOM (Part 2) - chapter after class exercises and answers
机器学习实战 -朴素贝叶斯