工程的配置
1、把include_cpp复制到工程文件夹下,设置包含目录
2、把libxl.lib复制到工程文件夹下,附加依赖项:libxl.lib
3、把libxl.dll复制到Debug下
Dlg.cpp下补充头文件与命名空间
#include "libxl.h"
#include <iostream>
using namespace libxl;
Dlg.cpp下主要代码:
const TCHAR* ReadDataToWChar(Sheet* sheet, int row,int col)
{
CellType type = sheet->cellType(row,col);
TCHAR buff[1024];
switch (type)
{
case 1://Num
{
swprintf_s(buff,1024,_T("%.2lf"),sheet->readNum(row,col));
return buff;
}
case 2://Str
{
return sheet->readStr(row,col);
}
default:
{
return _T("读取错误!");
}
}
}
void CExcelTestDlg::OnBnClickedButton1()
{
//初始化
Book* book = xlCreateBook();
//if(!book) return -1;
//book->load("00.xls"); //直接读的方式
//创建两个表,一个为“测试写”,一个为“测试读”
Sheet* sheet = book->addSheet(_T("测试写"));
Sheet* sheet1 = book->addSheet(_T("测试读"));
//sheet = book->getSheet(0);
//创建出错返回
//if(!sheet || !sheet1) return -2;
///设置格式//
//设置字体
//libxl::Font* font = book->addFont();
//font->setName(_T("0"));
//font->setSize(20);
//font->setColor(COLOR_DARKBLUE);
//font->setItalic();
//设置样式
Format* StrFormat = book->addFormat();
//StrFormat->setAlignH(ALIGNH_LEFT);
//StrFormat->setBorder(BORDERSTYLE_MEDIUMDASHDOTDOT);
//StrFormat->setBorderColor(COLOR_RED);
//StrFormat->setFont(font);
Format* dateFormat = book->addFormat();
//dateFormat->setNumFormat(NUMFORMAT_DATE);
Format* NumFormat = book->addFormat();
//NumFormat->setNumFormat(NUMFORMAT_NUMBER);
//Format* NumFormat1 = book->addFormat();
//NumFormat1->setNumFormat(NUMFORMAT_NUMBER_D2);
/你提出的要求的测试代码/
//读EDIT写入EXCEL
CString str;
GetDlgItemText(IDC_WRITE, str);//得到字符串
sheet->writeStr(0, 0, str, StrFormat);//0行0列
//读EXCEL写入EDIT
CString str2;
str2 = ReadDataToWChar(sheet,0,0);//0行0列
SetDlgItemText(IDC_READ, str2);
/你提出的要求的测试代码/
//以下为自由发挥部分
///写数据///
sheet->writeStr(2, 0, _T("Hello, World !"),StrFormat);
sheet->writeNum(4, 0, 1000,NumFormat);
//sheet->writeNum(5, 0, 20.98,NumFormat1);
sheet->writeFormula(6, 0, _T("SUM(A5:A6)"));
sheet->writeNum(8, 0, book->datePack(2012, 05, 17), dateFormat);
//循环写
for (int i = 0;i < 200;i++)
{
sheet->writeStr(i, 2, _T("Hello, World !"),StrFormat);
sheet->writeNum(i, 3, i);
}
///读数据///
for (int i = 0;i < 200;i++)
{
sheet1->writeStr(i, 0,ReadDataToWChar(sheet,i,2));
sheet1->writeStr(i, 3,ReadDataToWChar(sheet,i,3));
sheet1->setCellFormat(i,3,StrFormat);
}
///保存///
if(book->save(_T("00.xls")))
{
// ::ShellExecute(NULL, _T("open"), _T("00.xls"), NULL, NULL, SW_SHOW);
}
else
{
std::cout << book->errorMessage() << std::endl;
}
book->release();
}
具体工程见下载链接(VS2012):http://download.csdn.net/detail/qq_15947787/9844045