QTableView 컨텐트를 Excel에 저장
QTableView
QStringList displayItems;
displayItems << " " << " " << " " << " " << " ";
QStandardItemModel* model = new QStandardItemModel();
model -> setColumnCount(displayItems.count());
model -> setHorizontalHeaderLabels(displayItems);
model -> horizontalHeaderItem(displayItems.count() - 1) -> setTextAlignment(Qt::AlignCenter);
ui -> displaytableView -> setModel(model);
ui -> displaytableView -> setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
ui -> displaytableView -> horizontalScrollBar() -> setSliderPosition(0);
ui -> displaytableView -> setColumnWidth(0, 50);
ui -> displaytableView -> setColumnWidth(1, 100);
ui -> displaytableView -> setColumnWidth(2, 100);
ui -> displaytableView -> setColumnWidth(3, 100);
ui -> displaytableView -> setColumnWidth(4, 100);
ui -> displaytableView -> show();
void MainWindow::on_actionSave_triggered()
{
QDir dir("files");
if (!dir.exists())
{
dir.mkdir("files");
}
QString fileName = QFileDialog::getSaveFileName(
this,
"Save File",
"",
"Comma separated value(*.csv)");
QFile file(fileName);
bool ret = file.open(QIODevice::Truncate | QIODevice::ReadWrite);
if(!ret)
{
return;
}
QTextStream stream(&file);
QString contents;
//
QHeaderView * header = ui -> displaytableView -> horizontalHeader();
if (NULL != header)
{
for (int i = 0; i < header -> count(); i++)
{
QStandardItem* item = model -> horizontalHeaderItem(i);
if (NULL != item)
{
contents += item -> text() + ",";
}
}
contents += "
";
}
//
for (int row = 0; row < model -> rowCount(); row++)
{
for (int column = 0; column < model -> columnCount(); column++)
{
QStandardItem* item = model -> item(row, column);
if (NULL != item )
{
QString str;
str = item -> text();
str.replace(",", " ");
contents += str + ",";
}
}
contents += "
";
}
stream << contents;
file.close();
QMessageBox::information(this, "info", "File saved successfully!");
}
void MainWindow::on_actionOpen_file_triggered()
{
model -> removeRows(0, model -> rowCount());
QString fileName = QFileDialog::getOpenFileName(
this,
"Open files",
"",
"Comma Separated Value(*.csv)");
QFile openDataFile(fileName);
if (!openDataFile.open(QIODevice::ReadOnly))
{
return;
}
openDataFile.readLine(); //
int row = 0;
while(!openDataFile.atEnd())
{
QString tmp = openDataFile.readLine();
QStringList tmpList = tmp.split(",");
tmpList.removeLast();
QStandardItem* items[5];
for(int x = 0; x < 5; x++)
{
items[x] = new QStandardItem(tmpList.at(x));
items[x] -> setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
model -> setItem(row, x, items[x]);
}
row++;
}
openDataFile.close();
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.