嗨,我正在使用 ExcelFormat 库从包含一些 unicode 字符的 excel 文件 (.xls) 中提取一些内容,这是代码
BasicExcel xls(from);
XLSFormatManager fmt_mgr(xls);
BasicExcelWorksheet* sheet = xls.GetWorksheet(0);
CellFormat fmt_general(fmt_mgr);
fmt_general.set_format_string("0.000");
for (int y = 0; y<2; ++y) {
for (int x = 0; x<2; ++x) {
BasicExcelCell* cell = sheet->Cell(y, x);
cout << sheet->Cell(y, x)->GetWString();
CellFormat fmt(fmt_mgr, cell);
const Workbook::Font& font = fmt_mgr.get_font(fmt);
string font_name = stringFromSmallString(font.name_);
const wstring& fmt_string = fmt.get_format_string();
cell->SetFormat(fmt_general);
cout << endl;
}
}
cout << "write: " << from << endl;
xls.SaveAs(to);
此代码运行良好,它使用 unicode 字符正确复制 excel 文件,但在将数据保存到新文件之前,如果字符串不在 unicode 中,我需要对其进行一些操作,我可以使用它
sheet->Cell(y, x)->GetString();
它工作正常,但是当我有 unicode 数据时,即使使用
sheet->Cell(y, x)->GetWString();
因为它返回一些数字而我无法使用它我应该如何将 GetWstring 的结果转换为适当的文本格式