[ Shavgan @ 04.03.2012. 20:33 ] @
Pozdrav svima, da li je neko radio automatizaciju Excela preko COM-a u .NET-u ( C#), ako jeste nadam se da je radio i sljedece, a to je kako da nakon sto odredim Range["A2", "G40"] unutar active worksheet-a, kako da određene vrijednosti spremim u npr, prva vrijednost koju upisujem u worksheet ide u A2 ćeliju, druga u B2 i sve do G2, nakon sto prodjem taj red (od A2 do G2), da pređem u drugi. Stvar je u tome da je to veoma lako uraditi kao sto sam uradio u source-u kojeg sam postavio dole. Ali mene zanima kako da to sve stavim u jedan foreach i u svakom prolazu da mi uzme za prvu vrijednost A2, u drugom prolazu B2 itd., sve do G2. Nadam se da sam realno opisao situaciju.. namespace CreatioExcelUpdatesColAndRows { public partial class Form1 : Form { Excel.Application oExcAppl; Excel.Workbook oWrkBook; Excel.Worksheet oWrkSheet; Excel.Range oRange; public Form1( ) { InitializeComponent ( ); } private void button1_Click( object sender, EventArgs e ) { try { oExcAppl = new Excel.Application ( ); oWrkBook = ( Excel.Workbook ) oExcAppl.Workbooks.Open ( @"C:\Templates\Office\textDocument.xlsx" ); oWrkSheet = ( Excel.Worksheet ) oWrkBook.ActiveSheet; oExcAppl.Visible = true; oExcAppl.UserControl = true; object oMising = Type.Missing; string sValue; // Primjeri koristenja Range oWrkSheet.Range [ "A2 : G40" ].Value2 = sValue; } catch ( Exception ex) { MessageBox.Show ( ex.Message, "Error open excel document !"); } try { //INSERT U CELLS oWrkSheet.Cells [ 2, 1 ] = "Information of documents"; oWrkSheet.Cells [ 2, 2 ] = "Explaing documents pr "; oWrkSheet.Cells [ 2, 3 ] = "04/03/2012"; oWrkSheet.Cells [ 2, 4 ] = "ImeIPrezime"; oWrkSheet.Cells [ 2, 5 ] = "001 -DN/2012"; oWrkSheet.Cells [ 2, 6 ] = "Write"; oWrkSheet.Cells [ 2, 7 ] = "001"; //PORAVNAVA ĆELIJE PO POTREBI oRange = oWrkSheet.get_Range ( "A2", "G2" ); oRange.EntireColumn.AutoFit ( ); } catch ( Exception ex ) { MessageBox.Show ( ex.Message ); } finally { if ( oExcAppl != null ) { Marshal.ReleaseComObject ( oExcAppl ); oExcAppl = null; } } } } } Hvala vam svima unaprijed.. |