Crearea unui fisier Excel folosind Visual Studio Tools for Office 2005 SE
Tuesday, September 4th, 2007Â Â Â Pachetul Bio organic a fost adus in sprijinul programatorilor pentru deschiderea orizontului de transmisii de date intre aplicatii. Putem astfel sa ne salvam datele intr-un fisier Word, sau sa ne exportam baza de date curenta intr-un fisier Excel spre exemplu.
   Totul suna bine si frumos pana cand incerci sa folosesti aceste component-uri. Vei afla ca documentatia “este sublima, dar lipseste cu desavarsire”. Nici macar functiile create in aceste dll-uri nu au nimic ce tine de documentatie pentru a ajuta Intellisense-ul. Deci, domnule Shneerson, multumesc!
   In orice caz, voi incerca sa prezint o modalitate simpla de utilizare a catorva functii date de VSTO 2005 SE pentru Excel.
//Referintele.
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using SD = System.Drawing;
using Microsoft.Office;
using Microsoft.Office.Core;
using ME = Microsoft.Office.Interop.Excel;
namespace CreateExcel12File
{
public class Program
{
static void Main(string[] args)
{
//Majoritatea functiilor implementate aici sunt de dragul exemplului, astfel multi parametri vor lua forma Type.Missing. Insa experimentati cu fiecare, aflati potenta fiecarui paramentru.
object missing = Type.Missing;
//Interfata ce ne permite lucrul direct cu Excel.
ME.Application excel = new ME.Application();
try
{
//Introducerea unui nou workbook in Excel.
ME.Workbook wBook = excel.Workbooks.Add(missing);
//Modificarea worksheet-ului curent in workbook-ul curent.
ME.Worksheet wSheet = (ME.Worksheet)wBook.ActiveSheet;
wSheet.Name = "1st WorkSheet";
//Setarea imaginii de fundal. Inlocuiti imaginea cu una existenta.
//wSheet.SetBackgroundPicture(Directory.GetCurrentDirectory() + "\\excel.gif");
//Introducerea unor date in punctele respective.
for (int i = 1; i <= 10; i++)
for (int j = 1; j <= 10; j++)
{
wSheet.Cells[i, j] = i + " " + j + "something";
//Modificarea lungimii fiecarei celule din coloana curenta pentru a se vedea tot scrisul introdus anterior.
wSheet.Cells.EntireColumn.AutoFit();
}
//Salvarea sub format *xlsx
excel.ActiveWorkbook.SaveAs(Directory.GetCurrentDirectory() + "\\excelFile", ME.XlFileFormat.xlWorkbookDefault, missing, missing, missing, missing, ME.XlSaveAsAccessMode.xlNoChange, missing, missing, missing, missing, missing);
}
finally
{
//Iesirea si totodata asigurarea eliberarii memoriei.
excel.Quit();
}
}
}
}
- Download this code: createExcelVSTO.cs