Qt:使用libxl兼容界面打开csv文件
Qt: Open csv files with libxl-compatible interface
在我的应用程序中,我使用libxl库来读取xls[x]文件。从文件中获取的数据并显示在表中 QTableWidget。但是现在我需要添加对读取 csv 文件的支持。我如何与当前代码兼容(使用 libxl 方法 load()、getSheet() 等)(libxl 不支持 csv)。
Book* book;
if (excelfileName.endsWith(".xlsx")) {
book = xlCreateXMLBook();
} else if (excelfileName.endsWith(".xls")) {
book = xlCreateBook();
} else {
book = new CSVBook();
}
book->load(excelfileName.toLocal8Bit().data());
我应该使用哪种设计模式?
为此,我创建了一个新的类csvbook
template<class TCHAR>
class csvbook: public libxl::IBookT<char>
{
<...>
}
并重新声明来自 IBookT 的所有虚拟方法。下一步,我用声明在同一文件中编写了 csvbook 的所有方法的正文。
在函数中创建的对象
template<class TCHAR>
csvbook<TCHAR>* csvCreateBook()
{
csvbook<TCHAR>* book;
book = new csvbook<TCHAR>;
return book;
}
结果
Book* book;
if (excelfileName.endsWith(".xlsx")) {
book = xlCreateXMLBook();
} else if (excelfileName.endsWith(".xls")) {
book = xlCreateBook();
} else {
book = csvCreateBook<char>();
}
相关文章:
- 正在将csv文件读取为双精度矢量
- 如何选择在 csv 文件中输出的位置
- 有没有办法在不使用 getline() 的情况下从.csv文件中读取?
- 无法读取C++中的 CSV 文件
- 流:CSV 文件中的换行符
- 如何正确格式化csv文件?
- 正在分析CSV文件-C++
- 如何获取组件和搜索 CSV 文件
- C++ 中的 CSV 文件管理(特别是设置标头和每个标头将分别具有的值)
- 无法逐行读取.csv文件
- 非常快速地阅读 CSV 文件
- 该程序将.csv文件中的一系列单词放入数组中,然后随机生成句子.但它不起作用
- CSV文件之间的差异,使用getline()产生不同的结果
- 将 CSV 文件中的双倍值C++到矢量中
- C++ 将 CSV 文件的列写入向量
- 使用getline读取.csv文件时出现问题
- CSV文件未从缓冲区获取数据
- 错误的值是使用c++从CSV文件数据写入数组
- 将csv文件加载到MySQL C++中
- 读取C++中的大型CSV文件(~4GB)