/ / Dodawanie elementów do istniejącego pliku excela - c #, excel

Dodawanie elementów do istniejącego pliku Excela - c #, excel

Mam problem. Potrzebuję programu, który tworzy nowy plik Excela i dodaje do niego elementy z mojej aplikacji. Jeśli plik istnieje, muszę dodać kolejne rekordy do istniejącego pliku.

string Filetest = "C:\Users\Tom\Documents\File.xls";

Excel.Application oApp;

Excel.Workbook obook;


oApp = new Excel.Application();
obook = oApp.Workbooks.Add();
oSheet = (Excel.Worksheet)obook.Worksheets.get_Item(1);
if (File.Exists(Filetest))
{


}




oSheet.Cells[i, 1] = comboBox1.Text;
oSheet.Cells[i, 2] = comboBox4.Text;
oSheet.Cells[i, 3] = textBox9.Text;
oSheet.Cells[i, 4] = textBox5.Text;
oSheet.Cells[i, 5] = maskedTextBox6.Text;
oSheet.Cells[i, 6] = textBox1.Text;
oSheet.Cells[i, 7] = textBox2.Text;
oSheet.Cells[i, 8] = maskedTextBox1.Text;
oSheet.Cells[i, 9] = textBox21.Text;
oSheet.Cells[i, 10] = textBox12.Text;
oSheet.Cells[i, 11] = textBox3.Text;
oSheet.Cells[i, 12] = textBox23.Text;
oSheet.Cells[i, 13] = maskedTextBox6.Text;
oSheet.Cells[i, 14] = textBox6.Text;
oSheet.Cells[i, 15] = textBox7.Text;
oSheet.Cells[i, 16] = "034";
oSheet.Cells[i, 17] = comboBox3.Text;
oSheet.Cells[i, 18] = DateTime.Today.ToShortDateString();

oSheet.Cells[1000, 1] = i;



obook.SaveAs(Filetest);
obook.Close();
oApp.Quit();

i++;

Co powinienem tu umieścić?

if (File.Exists(Filetest))
{


}

Pls help :( i dziękuję!

Odpowiedzi:

3 dla odpowiedzi № 1
string Filetest = "C:\Users\Tom\Documents\File.xls";
Excel.Application oApp;
Excel.Workbook obook;

oApp = new Excel.Application();
if (File.Exists(Filetest))
{
obook = oApp.Workbooks.Open(Filetest);
}
else
{
obook = oApp.Workbooks.Add();
}

var oSheet = (Excel.Worksheet)obook.Worksheets.get_Item(1);

oSheet.Cells[i, 1] = comboBox1.Text;
// etc

obook.SaveAs(Filetest);
obook.Close();
oApp.Quit();

0 dla odpowiedzi nr 2

Odwróciłem twoją logikę. Spróbuj dowiedzieć się, czy masz istniejący dokument lub czy potrzebujesz nowego. Coś jak:

    Excell.Application oApp ;
if (File.Exists(Filetest))
{
oApp = //lookup how to load an Excell app from a file
}
else{
oApp = new Excel.Application();
obook = oApp.Workbooks.Add();
}

oSheet = (Excel.Worksheet)obook.Worksheets.get_Item(1);

//continue with your logic to fill in the cells and save.