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..