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 № 1string 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.