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

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

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

你可能感兴趣的:(谨慎!!!BasicExcel开源库操作Excel)