Middag!
Ik zit me al de hele dag op het volgende probleem te verbijten. Ik vind het vreselijk frusterend en ik hoop dat jullie mij hierbij kunnen helpen.
Ik wil, zoals de titel al zegt, graag data vanaf een excel sheet in mijn C# Programma krijgen. Dat lijkt allemaal niet zo moeilijk, maar ik vind het geheel gewoon vreselijk eigenwijs.
Ik heb het eindelijk voor elkaar gekregen om Excel te starten na een hele zoektocht op GoT en google. Wat ik hier al niet snap, in veel voorbeelden wordt er gebruik gemaakt van het Excel object (of is het namespace). Ik krijg dit maar niet werkend.
Eerst voeg ik de references toe:
References: Microsoft Excel v11.0; Microsoft Office v11.0
Waarna ik aangeef wat ik wil gebruiken:
Terwijl de meeste voorbeelden gebruik maken van dit:
Dat is al mijn eerste frustratie.
Met de bovenste namespace verwijzing krijg ik het wel voor elkaar om Excel te starten. Nu wil ik een Workbook openen. Dat is ook wel gelukt, maar het frustrerende is het aantal argumenten dat je mee moet geven en een gebrek aan documentatie waarvoor te gebruiken:
Met van verschillende sites iets copy pasten heb ik uiteindelijk wel iets werkends gevonden. Echter bij de meeste voorbeelden wordt gebruik gemaakt van:
Terwijl ik gebruik:
Nu heeft het workbook dat ik wil openen een macro die runt bij het opstarten, dat is in mijn geval niet gewenst, dus ik denk, security, zo werkte dat in VB6, dus nu zal dat ook wel, helaas, weer niet:
Hier heeft ie een of andere wazige foutmelding:
Die reference zit erin, dus wat doe ik fout, deze slaat overigens op de eerste this
Vervolgens zegt ie ook nog:
Wat ik ook niet begrijp.
Los van deze frustrerende zaken staat er bij de msdn ook nog vaak:
Kan het nu even niet vinden, iets met niet gebruikt in code ofzo... belletje, iemand?
Ik zit me al de hele dag op het volgende probleem te verbijten. Ik vind het vreselijk frusterend en ik hoop dat jullie mij hierbij kunnen helpen.
Ik wil, zoals de titel al zegt, graag data vanaf een excel sheet in mijn C# Programma krijgen. Dat lijkt allemaal niet zo moeilijk, maar ik vind het geheel gewoon vreselijk eigenwijs.
Ik heb het eindelijk voor elkaar gekregen om Excel te starten na een hele zoektocht op GoT en google. Wat ik hier al niet snap, in veel voorbeelden wordt er gebruik gemaakt van het Excel object (of is het namespace). Ik krijg dit maar niet werkend.
Eerst voeg ik de references toe:
References: Microsoft Excel v11.0; Microsoft Office v11.0
Waarna ik aangeef wat ik wil gebruiken:
C#:
1
| using Microsoft.Office.Interop.Excel; |
Terwijl de meeste voorbeelden gebruik maken van dit:
C#:
1
| using Excel; |
Dat is al mijn eerste frustratie.
Met de bovenste namespace verwijzing krijg ik het wel voor elkaar om Excel te starten. Nu wil ik een Workbook openen. Dat is ook wel gelukt, maar het frustrerende is het aantal argumenten dat je mee moet geven en een gebrek aan documentatie waarvoor te gebruiken:
C#:
1
2
| Open(string Filename, object UpdateLinks, object ReadOnly, object Format, object Password, object WriteResPassword, object IgnoreReadOnlyRecommended, object Origin, object Delimiter, object Editable, object Notify, object Converter, object AddToMru, object Local, object CorruptLoad) Member of Microsoft.Office.Interop.Excel.Workbooks |
Met van verschillende sites iets copy pasten heb ik uiteindelijk wel iets werkends gevonden. Echter bij de meeste voorbeelden wordt gebruik gemaakt van:
C#:
1
| Excel.XlPlatform.xlWindows |
Terwijl ik gebruik:
C#:
1
| XlPlatform.xlWindows |
Nu heeft het workbook dat ik wil openen een macro die runt bij het opstarten, dat is in mijn geval niet gewenst, dus ik denk, security, zo werkte dat in VB6, dus nu zal dat ook wel, helaas, weer niet:
C#:
1
| this.appExcel.AutomationSecurity = Microsoft.Office.Core.MsoAutomationSecurity.msoAutomationSecurityForceDisable; |
Hier heeft ie een of andere wazige foutmelding:
code:
1
| The type 'Microsoft.Office.Core.MsoAutomationSecurity' is defined in an assembly that is not referenced. You must add a reference to assembly 'office, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c'. |
Die reference zit erin, dus wat doe ik fout, deze slaat overigens op de eerste this
Vervolgens zegt ie ook nog:
code:
1
| Cannot implicitly convert type 'Microsoft.Office.Core.MsoAutomationSecurity [c:\Projects\RecipeProgram\RecipeProgram\obj\Debug\Interop.Microsoft.Office.Core.dll]' to 'Microsoft.Office.Core.MsoAutomationSecurity []' |
Wat ik ook niet begrijp.
Los van deze frustrerende zaken staat er bij de msdn ook nog vaak:
Kan het nu even niet vinden, iets met niet gebruikt in code ofzo... belletje, iemand?
"Chaos kan niet uit de hand lopen"