Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Eksport podataka iz DataTable u Excel???

[es] :: .NET :: Eksport podataka iz DataTable u Excel???

[ Pregleda: 1739 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

drgajic12
Beograd

Član broj: 51770
Poruke: 165
*.ptt.rs.



+2 Profil

icon Eksport podataka iz DataTable u Excel???02.02.2011. u 13:21 - pre 160 meseci
Jel zna neko neki dobar nacin na eksport, a da nije ona varijanta sa referencom na MICROSOFT EXCEL OBJECT LIBRARY sa using Excel = Microsoft.Office.Interop.Excel.
Ta varijanta mi pravi problem, jer ako je na klijentskom racunaru druga verzija Office-a, onda ima i drugu verziju EXCEL OBJECT LIBRARY-ja, takodje ako je jezicki paket drugi opet problemi. Jel ima neko neku drugu varijantu, koja ne zavisi od ovih stvari?
 
Odgovor na temu

Mikelly

Član broj: 16730
Poruke: 389
77.222.25.*



Profil

icon Re: Eksport podataka iz DataTable u Excel???02.02.2011. u 17:59 - pre 160 meseci
Jet engine:

Code:

System.Data.OleDb.OleDbConnection cnn = new System.Data.OleDb.OleDbConnection("Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " + ime_excel_fajla + "; Extended Properties = \"Excel 8.0; HDR=NO;\"");


Referenciras worksheet:

Code:

System.Data.OleDb.OleDbDataAdapter da = new System.Data.OleDb.OleDbDataAdapter("SELECT * FROM [" + naziv_worksheeta + "$]", cnn);


Code:

System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand("INSERT INTO [" + naziv_worksheeta + "$] VALUES(...)");
 
Odgovor na temu

drgajic12
Beograd

Član broj: 51770
Poruke: 165
*.ptt.rs.



+2 Profil

icon Re: Eksport podataka iz DataTable u Excel???03.02.2011. u 08:12 - pre 160 meseci
Radio sam na kraju ovu neku varijantu:

Excel.Application oXL;
Excel._Workbook oWB;
Excel._Worksheet oSheet;
Excel.Range oRng;


//Start Excel and get Application object.
oXL = new Excel.Application();
oXL.Visible = true;

//Get a new workbook.
oWB = (Excel._Workbook)(oXL.Workbooks.Add(Missing.Value));
oSheet = (Excel._Worksheet)oWB.ActiveSheet;

//Add table headers going cell by cell.
oSheet.Cells[1, 1] = "Redni broj";
oSheet.Cells[1, 2] = "Broj artikla";
oSheet.Cells[1, 3] = "Sifra artikla";
oSheet.Cells[1, 4] = "Tip artikla";
oSheet.Cells[1, 5] = "Naziv robe";
oSheet.Cells[1, 6] = "Kolicina";
oSheet.Cells[1, 7] = "Razlika u ceni";
oSheet.Cells[1, 8] = "Nabavna cena";
oSheet.Cells[1, 9] = "PDV";
oSheet.Cells[1, 10] = "Osnovica za PDV";
oSheet.Cells[1,11] = "Ukupan PDV";
oSheet.Cells[1, 12] = "Vrednost stavke";

//Format A1:D1 as bold, vertical alignment = center.
oSheet.get_Range("A1", "L1").Font.Bold = true;
oSheet.get_Range("A1", "L1").VerticalAlignment =
Excel.XlVAlign.xlVAlignCenter;


int ukupnoRedova=stavkeBindingSource.Count;
for (int i = 2; i < ukupnoRedova+2; i++)
{
DataRowView red=(DataRowView)stavkeBindingSource[i-2];
for (int j = 1; j < 13; j++)
{
oSheet.Cells[i, j] = red[j+1];
}
}

Ali problem je sledeci: Excel ovako svakoj koloni da tip kolone,tj. category onu njegovu opstu, GENERAL, i onda imam problem,jer ako mi je vrednost nekog polja broj koji pocinje sa nulama,on mi pojede te nule,sto mi predstavlja veliki problem. Zna li neko kako da mu u kodu promenim tip kolone,tj category na TEXT ili NUMBER,da ne bude GENERAL? Vidim na ovom linku sa koga sam ovo i pokupio http://support.microsoft.com/kb/302084 da bi mozda preko RANGE-a moglo da se to uradi,ali ne znam kako,nema objasnjenje ni za jednu metodu,nikako da provalim?
 
Odgovor na temu

[es] :: .NET :: Eksport podataka iz DataTable u Excel???

[ Pregleda: 1739 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.