#include
#include
#include
#include
#include
#include
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
// 打开CSV文件
QFile file("your_csv_file.csv");
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
{
qDebug() << "无法打开CSV文件";
return 1;
}
// 创建一个QVector来存储CSV数据
QVector<QStringList> csvData;
// 读取并解析CSV文件
QTextStream in(&file);
while (!in.atEnd())
{
QString line = in.readLine();
QStringList fields = line.split(",");
// 将CSV行数据添加到QVector
csvData.append(fields);
}
// 输出CSV数据
for (const QStringList &row : csvData)
{
qDebug() << row.join(", ");
}
// 关闭文件
file.close();
return app.exec();
}
从excel中读取
#include
#include
#include
#include
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
// 创建一个Qt应用程序
QWidget window;
window.setWindowTitle("读取Excel文件");
// 创建一个QTableWidget来显示Excel数据
QTableWidget *tableWidget = new QTableWidget(&window);
// 创建QAxObject以连接到Excel应用程序
QAxObject excel("Excel.Application", &window);
excel.setProperty("Visible", false); // 使Excel不可见
// 打开Excel工作簿
QAxObject *workbooks = excel.querySubObject("Workbooks");
QAxObject *workbook = workbooks->querySubObject("Open(const QString&)", "your_excel_file.xlsx");
if (workbook)
{
// 获取第一个工作表
QAxObject *worksheets = workbook->querySubObject("Worksheets");
QAxObject *worksheet = worksheets->querySubObject("Item(int)", 1);
if (worksheet)
{
// 获取行数和列数
int rowCount = worksheet->property("UsedRange").querySubObject("Rows")->property("Count").toInt();
int columnCount = worksheet->property("UsedRange").querySubObject("Columns")->property("Count").toInt();
// 设置表格的行数和列数
tableWidget->setRowCount(rowCount);
tableWidget->setColumnCount(columnCount);
// 读取Excel数据并填写到表格中
for (int row = 1; row <= rowCount; ++row)
{
for (int col = 1; col <= columnCount; ++col)
{
QAxObject *cell = worksheet->querySubObject("Cells(int, int)", row, col);
QString cellData = cell->dynamicCall("Value()").toString();
QTableWidgetItem *item = new QTableWidgetItem(cellData);
tableWidget->setItem(row - 1, col - 1, item);
}
}
// 释放工作表对象
worksheet->dynamicCall("Release()");
}
// 释放工作簿对象
workbook->dynamicCall("Close()");
workbook->dynamicCall("Release()");
}
// 退出Excel应用程序
excel.dynamicCall("Quit()");
// 显示表格
tableWidget->show();
return app.exec();
}
auto cbox = new ComboBox();
cbox->setEditable(true);
m_pTableView->setIndexWidget(m_pModel->index(idx, 0), cbox);
// 获取文件中的数据
QFile file("D:/develop/Projects/QTPro/TMI/tmi/MaterialInfo.csv");
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
qDebug() << "无法打开CSV文件" << endl;
return;
}
// 创建一个QVector来存储CSV数据
// QVector csvData;
// 读取并解析CSV文件
QTextStream in(&file);
cbox->clear();
while (!in.atEnd()) {
QString line = in.readLine();
QStringList fields = line.split(",");
cbox->addItem(fields[0]);
// 将CSV行数据添加到QVector
// csvData.append(fields);
}