Здравствуйте!
Есть программа имеющая таблицу QTableWidget.После её заполнения,я сохраняю её в csv файл.Но загрузить обратно не выходит.
Кто знает,где ошибка?
void MainWindow::Save(){
QString FileSaving = QFileDialog::getSaveFileName(this,"Сохранить","c:/","Файл CSV(*.csv)");
QFile file(FileSaving);
if (FileSaving.isEmpty()){
file.close();
}else{
if(!file.open(QIODevice::WriteOnly|QIODevice::Text)){
QMessageBox::StandardButton Save;
Save=QMessageBox::critical(this,"Ошибка","Ошибка сохранения",QMessageBox::Ok);
return;
}
}
QTextStream save(&file);
save<<QObject::tr("Наименование;Ед.измерения;Кол-во;Стоимость;Примечание\n");
for(int i=0; i<twPreparation->rowCount(); i++){
save << twPreparation->item(i,0)->text()<< ";"
<< twPreparation->item(i,1)->text()<< ";"
<< twPreparation->item(i,2)->text()<< ";"
<< twPreparation->item(i,3)->text()<< ";"
<< twPreparation->item(i,4)->text()<< ";"<<endl;
}
file.close();
}
void MainWindow::Load(){
QString FileLoading = QFileDialog::getOpenFileName(this,"Открыть","c:/","Файл CSV(*.csv)");
QFile file(FileLoading);
if (FileLoading.isEmpty()){
file.close();
}else{
if(!file.open(QIODevice::ReadOnly|
QIODevice::Text)){
QMessageBox::StandardButton Load;
Load=QMessageBox::critical(this,"Ошибка","Ошибка открытия таблицы",QMessageBox::Ok);
return;
}
}
QTextStream load(&file);
QString text=load.readAll();
teNote->setPlainText(text);
QStringList row = text.split(";");
QStringList col = text.split(" ");
for(int i=0; i<row.count(); ++i){
for(int j=0; j<col.count(); ++j){
QTableWidgetItem* item = new QTableWidgetItem(row[i]);
twPreparation->setItem( i, j, item );
}
}
file.close();
}