当前位置: 首页 > news >正文

wordpress 新变量河南企业网站排名优化价格

wordpress 新变量,河南企业网站排名优化价格,php网站建设全程实例,为什么网站建设功能 表格不存在则创建后再进行操作创建sheet添加新的工作表在sheet中增加数据设置单元格样式 相关配置 下载地址:libxl选择 LibXL for Linux 4.2.0 i386 x64 armhf aarch64 安装配置 1,使用 tar zxvf 文件名.tar.gz 进行文件解压2,创…

功能

  • 表格不存在则创建后再进行操作
  • 创建sheet添加新的工作表
  • 在sheet中增加数据
  • 设置单元格样式

相关配置

  • 下载地址:libxl
  • 选择 LibXL for Linux 4.2.0   i386 x64 armhf aarch64

安装配置

  • 1,使用 tar zxvf 文件名.tar.gz 进行文件解压
  • 2,创建 /usr/local/libxl/lib64目录,将libxl\libxl-4.2.0\lib64文件夹下的libxl.so库文件拷贝到刚才创建的目录下
  • 3,创建 /usr/local/include/libxl目录,将libxl\libxl-4.2.0\include_cpp文件夹下的头文件拷贝到刚才创建的目录下

Clion配置

cmake_minimum_required(VERSION 3.23)
project(libxl_test)set(CMAKE_CXX_STANDARD 11)# 指定lib目录
link_directories(/usr/local/libxl/lib64)# 指定头文件搜索策略
include_directories(/usr/local/include/libxl)add_executable(libxl_test main.cpp)target_link_libraries(${PROJECT_NAME}  xl z)# g++ -o ExcelOutputProgram ExcelOutputProgram.cpp -lxl -lz

代码

#include <iostream>
#include <ctime>
#include <chrono>
#include <fstream>
#include <libxl/libxl.h>#define filename "/home/chy-cpabe/CLionProjects/libxl_test/output.xlsx"bool fileExists(const std::string& excel_file) {std::ifstream file(excel_file);return file.good();  // 如果文件存在,file.good() 返回 true
}/*** @brief 填写表格内容** @param USBKey_info                      Book handle* @param sheet                           sheet handle* @param DEVINFO_SerialNumber             USBKey序列号* @param Signing_Certificate_SerialNumber 签名证书序列号* @return 0:成功;-1:失败*/
int write_excel_content(libxl::Book *USBKey_info,libxl::Sheet *sheet,std::string DEVINFO_SerialNumber,std::string Signing_Certificate_SerialNumber)
{// 插入相关字段信息int nextRowIndex = sheet->lastRow();// 确定下一个可用的行索引sheet->writeStr(nextRowIndex, 0, DEVINFO_SerialNumber.c_str());sheet->writeStr(nextRowIndex, 1,Signing_Certificate_SerialNumber.c_str());// 获取当前系统时间auto now = std::chrono::system_clock::now();// 将系统时间转化为 time_t 样式std::time_t currentTime = std::chrono::system_clock::to_time_t(now);// 将time_t转化为tm结构体std::tm *localTime = std::localtime(&currentTime);// 提取年月日等时间信息int year = localTime->tm_year + 1900;  // Years since 1900int month = localTime->tm_mon + 1;     // Months start from 0int day = localTime->tm_mday;int hour = localTime->tm_hour;int minute = localTime->tm_min;// 设置格式 (每列列宽30并居中显示) 并填充数据libxl::Format* format2 = USBKey_info->addFormat();format2->setNumFormat(libxl::NUMFORMAT_CUSTOM_MDYYYY_HMM);format2->setAlignH(libxl::ALIGNH_CENTER);sheet->writeNum(nextRowIndex, 2, USBKey_info->datePack(year,month,day,hour,minute),format2);}/*** @brief 填写Excel表格** @param increase_sheet                         是否增加工作表* @param sheetName_new 如果increase_sheet为true,接收工作表的名字* @param DEVINFO_SerialNumber                    USBKey序列号* @param Signing_Certificate_SerialNumber       签名证书序列号* @return 0:成功;-1:失败*/
int write_excel(bool increase_sheet,std::string sheetName_new,std::string DEVINFO_SerialNumber,std::string Signing_Certificate_SerialNumber){libxl::Book *USBKey_info = xlCreateXMLBook();//Excel文件是否存在if (!fileExists(filename)) {//  创建Excel 文件if (USBKey_info->save(filename)) {std::cout << "excel表格创建成功!" << std::endl;} else {std::cout << "excel表格创建失败!" << std::endl;}}//创建表格USBKey_info->load(filename);//增加sheetif (increase_sheet == true){// 添加新的工作表并命名libxl::Sheet *sheet = USBKey_info->addSheet(sheetName_new.c_str());if (sheet) {//表格样式处理 (每列列宽30并居中显示)libxl::Format* centerAlign = USBKey_info->addFormat();centerAlign->setAlignH(libxl::ALIGNH_CENTER);sheet->setCol(0, 2, 30, centerAlign);// 创建工作表的标题sheet->writeStr(1, 0, "DEVINFO SerialNumber");sheet->writeStr(1, 1, "Signing Certificate SerialNumber");sheet->writeStr(1, 2, "Date");// 插入相关字段信息write_excel_content(USBKey_info, sheet,DEVINFO_SerialNumber,Signing_Certificate_SerialNumber);} else{std::cerr << "新增 使用用户指定名称创建sheet的索引失败!" << std::endl;return false;}}else{//利旧 获取最后一个sheet的索引int sheetCount = USBKey_info->sheetCount()-1;libxl::Sheet *sheet = USBKey_info->getSheet(sheetCount);if (sheet){// 插入相关字段信息write_excel_content(USBKey_info, sheet,DEVINFO_SerialNumber,Signing_Certificate_SerialNumber);} else{std::cerr << "利旧 获取最后一个sheet的索引失败!" << std::endl;return false;}}// 保存 Excel 文件if (USBKey_info->save(filename)) {std::cout << "Excel 文件成功保存" << std::endl;} else {std::cout << "Excel 文件保存失败" << std::endl;}// 释放资源USBKey_info->release();return 0;
}int main() {printf("请输入要创建的工作表名称:\n");std::string sheetName; // 用户输入的工作表名称std::cin >> sheetName; // 接收用户输入的工作表名称std::string DEVINFO_SerialNumber{"00FF4821104E2607"};std::string Signing_Certificate_SerialNumber{"4495"};//测试1: 文件不存在新建,强制删除文件即可write_excel(true,sheetName,DEVINFO_SerialNumber,Signing_Certificate_SerialNumber);//测试2: 文件存在//sheet新建write_excel(true,"new1",DEVINFO_SerialNumber,Signing_Certificate_SerialNumber);//sheet追加write_excel(false,"new",DEVINFO_SerialNumber,Signing_Certificate_SerialNumber);return 0;
}

结果展示

注意

  •  sheet新建需要保证每个sheet的name是不一样的,重名会出错
    //测试2: 文件存在//sheet新建write_excel(true,"new1",DEVINFO_SerialNumber,Signing_Certificate_SerialNumber);

http://www.yayakq.cn/news/112382/

相关文章:

  • 太原怎样优化网站建设华为商城
  • 网站关键词排行查询萝岗手机网站建设
  • 网站开发公司官网门业网站模板
  • 手机网站建设的图片高端轻奢品牌
  • 化妆品 网站建设案例网站开发和小程序开发区别
  • 什么是高端网站建设装宽带一年大概需要多少钱
  • 怎么自己做整人网站wordpress注册邮箱收不到验证码
  • 农家乐网站 建设做网站ceo
  • 信息流广告投放流程东莞做网站优化天助网络
  • 深圳网站建设三把火科技有关学校网站建设策划书
  • 网站怎么防采集微信公众号怎样做淘客网站
  • 网站推广对接网页修改和编辑的软件有哪些
  • 聊城做网站信息包头哪里做网站
  • 分析北师大教育学原理网站建设网站制作案例价格
  • 北京工程建设信息网站余姚网站定制
  • 重庆巴南区网站开发去哪儿网站排名怎么做
  • 织梦调用网站名称WordPress网易云插卡
  • 宿迁网站搭建单位网站建设开发公司
  • 合肥中小企业网站制作在哪建网站
  • 网站制作费用低商标设计网站排行
  • 做网站用什么配置的vpsWordpress有用么
  • 主页值得是网站的主要内容所在页建筑公司名字大全20000个
  • 静海县建设局网站长丰县建设局网站
  • 有没有做q版头像的网站东莞seo网站排名优化
  • 利用帝国cms网站建设网页游戏排行榜前十平台
  • 坤和建设 网站青岛建设公司网站
  • 天津公司建设网站wordpress 图灵机器人
  • 深圳专业做网站排名多少钱服装网站建设规划书范文
  • 免费的网站申请深圳建网站服务
  • 网站开发的合同范本直播网站建设需要多少钱