copiar datos o graficos de excel a word

22/09/2008 - 19:46 por CristinaRodriguezBarcia | Informe spam
Holas,tengo una serie de datos en una hoja excel y quiero pasarlos a
un word todo eso mediante csharp... hay solucion? me la contais ?
Gracias :)
 

Leer las respuestas

#1 Gonzalo Rodríguez Carrera
23/09/2008 - 09:02 | Informe spam
Lo primero que se me ocurre es un tanto expeditivo pero igual
funciona... (es temprano por la mañana :P)

Yo lo que haría sería por un lado abrir el Excel e ir recorriendo las
celdas y por otro tener un word abierto e ir escribiendo lo leido en
el excel...

** Para leer de un excel:

Excel.Application oApp;
Excel.Workbook oWorkBook;
Excel.Worksheet oWorkSheet;

oApp = new Excel.Application();
oApp.Visible = false;

oWorkBook = oApp.Workbooks.Add(Missing.Value);
oWorkSheet = (Excel.Worksheet)oWorkBook.ActiveSheet;

//Añadimos el título
oWorkSheet.Cells[1, 1] = this.titulo;

//Añadimos las cabeceras
for (int i = 0; i < this.ColumnCount; i++)
{
MessageBox.Show(oWorkSheet.Cells[1, i + 1]);
}


...etc...


** Para escribir una tabla de word (esta no la he probado) :P

Word.Application oWord;
Word.Document oDoc;
Word.Range oRange,oRange2;
Word.Table oTable;
object px=0,py=0,oMissing = Missing.Value;
int i, j;

oWord = new Word.Application();
oDoc = oWord.Documents.Add(ref oMissing, ref oMissing, ref
oMissing,ref oMissing);
oRange = oDoc.Range(ref px, ref py);
oDoc.Tables.Add(oRange, 5, 2, ref oMissing, ref oMissing);

for (i = 1; i <= 5; i++)
{
for (j = 1; j <= 2; j++)
{
oDoc.Tables[1].Cell(i, j).Width = 220;
oDoc.Tables[1].Cell(i, j).Height = 130;
}
}

oRange2 = oDoc.Tables[1].Cell(2, 2).Range;
oDoc.Tables[1].Tables.Add(oRange2, 3, 3, ref oMissing, ref oMissing);

oWord.Visible = true;

¡Espero te sirva!
__________________________
Gonzalo Rodríguez Carrera
Desarrollador DCE 2 Estrellas
Vigo - España

Preguntas similares