Een excel sheet schrijven in C#

  • Onderwerp starter Onderwerp starter bodu
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

bodu

Nieuwe gebruiker
Lid geworden
5 jan 2009
Berichten
3
Beste forumlezers,

Ik ben nog niet zo ervaren met het schrijven van C#, maar ik ben bezig met informatie naar cellen in excel schrijven maar ik kan er vrijwel niks over vinden. Nou kwam ik dit stukje code tegen
Code:
// Start a new workbook in Excel.
m_objExcel = new Excel.Application();
m_objBooks = (Excel.Workbooks)m_objExcel.Workbooks;
m_objBook = (Excel._Workbook)(m_objBooks.Add(m_objOpt));

// Add data to cells in the first worksheet in the new workbook.
m_objSheets = (Excel.Sheets)m_objBook.Worksheets;
m_objSheet = (Excel._Worksheet)(m_objSheets.get_Item(1));
m_objRange = m_objSheet.get_Range("A1", m_objOpt);
m_objRange.Value = "Last Name";
m_objRange = m_objSheet.get_Range("B1", m_objOpt);
m_objRange.Value = "First Name";
m_objRange = m_objSheet.get_Range("A2", m_objOpt);
m_objRange.Value = "Doe";
m_objRange = m_objSheet.get_Range("B2", m_objOpt);
m_objRange.Value = "John";

// Apply bold to cells A1:B1.
m_objRange = m_objSheet.get_Range("A1", "B1");
m_objFont = m_objRange.Font;
m_objFont.Bold=true;

// Save the Workbook and quit Excel.
m_objBook.SaveAs(m_strSampleFolder + "Book1.xls", m_objOpt, m_objOpt, 
	m_objOpt, m_objOpt, m_objOpt, Excel.XlSaveAsAccessMode.xlNoChange, 
	m_objOpt, m_objOpt, m_objOpt, m_objOpt);
m_objBook.Close(false, m_objOpt, m_objOpt);
m_objExcel.Quit();
Maar ik snap er niet veel van zou iemand mij wat uitleg willen geven bij dit stukje code, wat welke regel doet enzo..

Alvast bedankt en met vriendelijke groet,

Bob
 
Waarom wil je überhaupt vanuit C# Excel benaderen? Waarom gebruik je geen VBA?

Als je C# wilt leren zou ik niet beginnen met jouw stukje code. Je moet dan nl. twee dingen tegelijk leren:
1. C# syntax
2. Excel objectenmodel


Ik zou eerst beginnen met 1. voordat je in de wondere wereld van Office-objecten stapt. Zie bijv.:
http://msdn.microsoft.com/en-us/library/aa288436.aspx

Succes!
 
Laatst bewerkt:
Waarom wil je überhaupt vanuit C# Excel benaderen? Waarom gebruik je geen VBA?

Als je C# wilt leren zou ik niet beginnen met jouw stukje code. Je moet dan nl. twee dingen tegelijk leren:
1. C# syntax
2. Excel objectenmodel


Ik zou eerst beginnen met 1. voordat je in de wondere wereld van Office-objecten stapt. Zie bijv.:
http://msdn.microsoft.com/en-us/library/aa288436.aspx

Succes!

De reden dat ik excel wil benaderen is dat het een opdracht is voor school waarin ze vragen om gegevens weg te schrijven naar excel:( Vandaar mijn vraag of er iemand dit stukje code uit kan leggen of handig commentaar toe kan voegen:rolleyes:

EDIT: Ik ben geen complete newbie, ik heb al een aantal projecten in C# gedaan. Vandaar dat ik nou eens iets moeilijkers moest programmeren.
 
Laatst bewerkt:
Er is veel te vinden over Excel automation dmv C#, ervan uitgaande dat je Engels kunt:

http://support.microsoft.com/kb/302084
http://www.codeproject.com/KB/cs/Simple_Excel_Automation.aspx
(wel eerst ff aanmelden)
of
http://www.spreadsheetgear.com/support/samples/
(allerlei c# code)

Jouw code bevat trouwens nog redelijk veel beschrijvend commentaar.
Wanneer je werkelijk geen newbie bent zou het volgende statement dan ook geen problemen moeten opleveren:

m_objBook = (Excel._Workbook)(m_objBooks.Add(m_objOpt));
Het betekent nl. niets anders dan dat de variabele m_objBook geïnstantieerd wordt als class Excel._Workbook (= is een xl werkmap/document).
Dit gebeurt dmv het aanroepen van de Excel.Workbooks.Add-functie: Hiermee voegt de Excel-app een nieuwe werkmap toe. Deze functie retourneert een referentie naar het nieuwe workbook-object en wordt opgeslagen in m_objBook.
Een werkmap bestaat uit verschillende sheets (=werkBLADEN)

Succes!
 
Laatst bewerkt:
Er is veel te vinden over Excel automation dmv C#, ervan uitgaande dat je Engels kunt:

http://support.microsoft.com/kb/302084
http://www.codeproject.com/KB/cs/Simple_Excel_Automation.aspx
(wel eerst ff aanmelden)
of
http://www.spreadsheetgear.com/support/samples/
(allerlei c# code)

Jouw code bevat trouwens nog redelijk veel beschrijvend commentaar.
Wanneer je werkelijk geen newbie bent zou het volgende statement dan ook geen problemen moeten opleveren:


Het betekent nl. niets anders dan dat de variabele m_objBook geïnstantieerd wordt als class Excel._Workbook (= is een xl werkmap/document).
Dit gebeurt dmv het aanroepen van de Excel.Workbooks.Add-functie: Hiermee voegt de Excel-app een nieuwe werkmap toe. Deze functie retourneert een referentie naar het nieuwe workbook-object en wordt opgeslagen in m_objBook.
Een werkmap bestaat uit verschillende sheets (=werkBLADEN)

Succes!

Heel erg bedankt voor de info nu moe het zker lukken:):thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan