• 0

[C# .NET Framework 3.5] Read/Write Office documents.


Question

5 answers to this question

Recommended Posts

  • 0

Unfortunately working with Excel spreadsheets and Word documents can be, imo, a pain in .NET. You need to use a COM Interop for the specific program you're targeting (ie. Excel or Word). It will be easier once .NET 4.0 is released this spring with the new dynamic keyword, but that doesn't help you atm :)

My recommendation is to read about using Interops (here, here, most good articles is on MSDN) or if you have the cash to use something like Aspose, it's a delight working with, but it costs around 900$ per license.

  • 0

I've done already some office developing using the microsoft interop assemblies. you can install these assemblies with your office installation (must be somewhere within the advanced options) or you start searching for them and download them somewhere.

Put the assemblies somewhere on your harddrive and reference them within your project. Than you can start developing. If you want, I can paste some outlook code in here, just to see how you start. But I suggest, google around. There is a lot of code about office developing.

  • 0

All right, thanks everyone. I'll try to see around. The idea is that a WinForm with a lot of fields and all those information must be written to a word document (the world template is already there, I have to fill in the winform data and write them to it) and then print it out.

  • 0

a small code snippet...

oWordApplic = null;

			try
			{
				object wdObject = Marshal.GetActiveObject("Word.Application");
				oWordApplic = (Microsoft.Office.Interop.Word.Application)wdObject;
			}
			catch {}

			if (oWordApplic == null)
			{
				try
				{
					oWordApplic = new Microsoft.Office.Interop.Word.ApplicationClass();
				}
				catch {}
			}
object missing	= System.Reflection.Missing.Value;
			object template = System.Reflection.Missing.Value;

			if (sTemplate.Length > 0)
				template = sTemplate;

			oDoc = oWordApplic.Documents.Add(ref template, ref missing,ref missing, ref missing);
			oDoc.Activate();	

oWordApplic.Selection.TypeText(strText);

object missing = System.Reflection.Missing.Value;
			object fileName = strFileName;

			oDoc.SaveAs(ref fileName, ref missing,ref missing, ref missing,ref missing,ref missing,ref missing,
				ref missing,ref missing,ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Who goofed? I got to know. Wiki lists the internet speed of Singapore at 336.45 per Ookla, which would put them second behind Lyons France with the world's fastest median internet speed.
    • I'm really happy that you're looking to apply for a role in writing articles for Neowin. We could do with more, regardless, so everyone is happy and has a story to read when ever they login to the site. https://www.neowin.net/contact/apply I look forward to reading what you have to say in the near future in one of the published articles here on Neowin. You can do it. You got this.
    • Uranus releases about 15% more energy than it receives from the Sun, according to two new papers published in the journal Monthly Notices of the Royal Astronomical Society and the journal Geophysical Research Letters. The amount of heat a planet exudes could be an indication of its age: the less heat released relative to the heat absorbed from the Sun, the older the planet is. Uranus stood out from the other planets because it appeared to give off as much heat as it received, implying it had none of its own. This puzzled scientists. Some hypothesized that perhaps the planet is much older than all the others and has cooled off completely. Others proposed that a giant collision — the same one that may have knocked the planet on its side—blasted out all of Uranus’ heat. But none of these hypotheses satisfied scientists, motivating them to solve Uranus’ cold case. https://www.sci.news/space/warmer-uranus-14079.html  
    • The reality is that it's much, much cheaper to have a single code base than rewrite and maintain everything in native frameworks for each platform. It's just sad that the most reliable technology stack for it is so heavy on resources (literally 3 times the RAM, according to the screenshots).
    • Trump Logic:  If people are talking about football team names... they won't be talking about Epstein! 🤣
  • Recent Achievements

    • Rookie
      Snake Doc went up a rank
      Rookie
    • First Post
      nobody9 earned a badge
      First Post
    • One Month Later
      Ricky Chan earned a badge
      One Month Later
    • First Post
      leoniDAM earned a badge
      First Post
    • Reacting Well
      Ian_ earned a badge
      Reacting Well
  • Popular Contributors

    1. 1
      +primortal
      495
    2. 2
      Michael Scrip
      203
    3. 3
      ATLien_0
      197
    4. 4
      Xenon
      136
    5. 5
      +FloatingFatMan
      116
  • Tell a friend

    Love Neowin? Tell a friend!