libxl库读写excel
libxl库读写速度很快,几乎秒读,当然他是收费的,如果你用于商业,请购买正版
本人已录制好视频,为方便大家学习
链接:https://pan.baidu.com/s/1WaKbqd_kRpY2VDEf0fVMSQ
提取码:1k46
复制这段内容后打开百度网盘手机App,操作更方便哦
#include "libxl.h" #include <sstream> using namespace libxl; using namespace std; void CtestExcelDlg::OnBnClickedButton1() { // TODO: 在此添加控件通知处理程序代码 CString xlsFile=_T("F:\\excel\\libxl\\testExcel\\test.xls"); Book* book = xlCreateBook(); book->setKey(L"用户名",L"注册码"); //注册 if(book) { Sheet* sheet = book->addSheet(L"Sheet1"); if(sheet){ for (int i=0;i<100;i++) { for (int j=0;j<100;j++) { sheet->writeStr(i, j, L"www.vmould.cn"); } } } book->save(xlsFile); book->release(); } } void CtestExcelDlg::OnBnClickedButton2() { // TODO: 在此添加控件通知处理程序代码 CString xlsFile=_T("F:\\excel\\libxl\\testExcel\\test.xls"); Book* book = xlCreateBook(); book->setKey(L"用户名",L"注册码"); //注册 if(book) { int num; if(book->load(xlsFile)){ Sheet* sheet = book->getSheet(0); if(sheet) { size_t maxRows = sheet->lastRow();//得到行 size_t maxCols = sheet->lastCol();//得到列 for (size_t i=0;i<maxRows;i++)//行 { for (size_t j=0;j<maxCols;j++)//列 { CString TEMP; CellType celltype = sheet->cellType( i, j); char infoout[256]; if(sheet->isFormula(i, j)) { TEMP=_T(""); } else { switch( celltype ) { case CELLTYPE_EMPTY: TEMP=_T(""); break; case CELLTYPE_STRING: //字符串 TEMP = sheet->readStr(i, j); break; case CELLTYPE_NUMBER: //数字 { double iCellValue = sheet->readNum(i, j); std::ostringstream oss; oss<<iCellValue; TEMP.Format(_T("%s"),oss.str().c_str()); break; } case CELLTYPE_BOOLEAN: { bool b = sheet->readBool(i, j); if (b) { TEMP=_T("1"); } else { TEMP=_T("0"); } break; } case CELLTYPE_BLANK: { TEMP=_T(""); break; } case CELLTYPE_ERROR: { TEMP=_T(""); break; } default : { TEMP=_T(""); break; } }//switch if (j==0) { num=m_list.InsertItem(i,TEMP); } else{ m_list.SetItemText(num,j,TEMP); } } } } } } //book->save(xlsFile); book->release(); } }
转载请注明出处: 芝麻开花
本文的链接地址: http://www.vmould.cn/?post=173
上一篇
发表评论 取消回复