Tengo un problema. Necesito un programa que cree un nuevo archivo de Excel y le agregue elementos desde mi aplicación. Si el archivo existe, debo agregar los siguientes registros a un archivo existente.
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++;
¿Qué debo poner aquí?
if (File.Exists(Filetest))
{
}
Por favor ayuda :( y gracias!
Respuestas
3 para la respuesta № 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 para la respuesta № 2
Invertiría tu lógica. Intente averiguar si tiene un documento existente o si necesita uno nuevo. Algo como:
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.