谨慎!!!BasicExcel开源库操作Excel

BasicExcel开源库地址: https://www.codeproject.com/Articles/13852/BasicExcel-A-Class-to-Read-and-Write-to-Microsoft

原文有相应的接口说明和样例程序,容易上手

从Excel文件读取数据:

BasicExcel excel;
excel.Load("data.xls"); //必须是 xls 类型的Excel文件,不能读取 xlsx 文件
BasicExcelWorksheet *sheet = excel.GetWorksheet("Sheet1"); //获取当前文件的指定名字的工作簿
if (sheet)
{
    size_t maxRows = sheet->GetTotalRows(); //获取行数
    size_t maxCols = sheet->GetTotalCols(); //获取列数
    int intVal = sheet->Cell(x,y)->GetInteger(); //获取当前工作簿的 x 行 y 列的 int 值
    string strVal = sheet->Cell(x,y)->GetString();   //获取当前工作簿的 x 行 y 列的 string 值
    sheet->Cell(x,y)->Get(...); //获取某种类型的值,根据输入参数类型决定
} 

写入数据到Excel文件:

	BasicExcel excel;
	excel.Load(fileName);
	BasicExcelWorksheet *sheet = excel.GetWorksheet("Users");
	
	/* Write to file */
	if ( sheet )
	{
		size_t idx = sheet->GetTotalRows(); //获取行数

		sheet->Cell(idx, 0)->SetString(usr.Id);  //写入数据到指定单元格
		sheet->Cell(idx, 1)->SetString(usr.NickName); // SetString(), SetDouble() ...
		sheet->Cell(idx, 2)->SetString(usr.Pwd);
	}
	/* save data */
	excel.Save();  //一定要记得保存,不然以上操作无效!!!

如果只是写入一条数据,那么上面的代码没问题,但如果用这段代码连续写入,就会出错!!!

错误所在: 用 SetString() 这个函数写入字符串,会破坏原有数据导致整个Excel文件袋额损坏!!!

如果不需要写入字符串,那么这个库还是比较好用的

转载于:https://my.oschina.net/tigerBin/blog/903233

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值