|
Programiranje Java, Perl, VB, ASP, .NET, C, C++, Pascal, Delphi Sponzor: |
|
Alati teme | Način prikaza |
06. 02. 2012. | #1 |
Ivan Dilber
Sir Write-a-Lot
|
C# vs. PHP za automatizaciju Excela?
Trebaju mi sledece operacije:
- procitam templejt koji u sebi sadrzi header, row i footer deo (svaki deo ima vise kolona i redova i razno formatiranje) - isparsiram taj templejt koristeci XML konfiguraciju koja mi kaze gde pocinje i zavrsava svaki od delova templejta - uzmem podatke iz baze i kreiram novi excel sa zadatim headerom i footerom i podacima upisanim u spreadsheet koristeci templejt za redove Ima tu jos detalja, tipa markiranje neparnih redova, razunanje nekih suma i sl. ali to cu lako jednom kad se snadjem sa ovim gore... E sad, mene ovde muce 2 pitanja: - Da li koristiti COM ili raditi sa novim excel xml formatom - Ako se koristi COM da li bi mi C# .NET pruzio neku prednost u odnosu na PHP (oba mogu da se nakace na COM, ali posto nisam radio to nikad ne znam koja su ogranicenja?) Masina je u svakom slucaju na Windowsu, ima instaliran Excel, nalazi se na lokalnom LAN-u... server moze da bude apache ili IIS ili bilo sta, to nije ogranicenje...
__________________
Leadership is the art of getting people to want to do what you know must be done. |
06. 02. 2012. | #2 |
VD IT Direktora
Invented the damn thing
Datum učlanjenja: 08.06.2005
Lokacija: Beograd
Poruke: 2.118
Hvala: 503
1.307 "Hvala" u 282 poruka
|
Naša cela firma (a nije mala) bazirana je na Linuxu, pa smo i pored toga morali da dignemo jednu Windows mašinu upravo za to o čemu govoriš. Excel automation. Nismo ni pokušavali da radimo COM iz (u našem slučaju) Ruby-ja, već je kolega to odradio u C#-u, napravili smo to kao Windows service. Baš ta priča, učitamo već gotov template, popunimo ga iz nekog dataseta (kod nas nije direktno baza, već neki XML, ali svejedno) na osnovu nekih placeholdera u samim tabelama.
Ima tu dosta peripetija, tipa kad ne znaš unapred koliko ćeš redova/kolona dodavati, pa nešto insertuješ, pa treba da zadržiš formatiranje itd.. Radimo i neke trikove sa excel makroima koji odrade nešto nakon što se napuni tabela itd. U svakom slučaju, pravljenje XLSX od nule nam nije vršilo posao, to je Sizifov posao provaljivati i testirati jer je MS-ova dokumentacija očajna, praktično se sve svodi na reverse engineering.
__________________
blog |
06. 02. 2012. | #3 |
I'm a PC too.
Wrote a book
Datum učlanjenja: 06.06.2005
Lokacija: Kanada
Poruke: 1.354
Hvala: 82
130 "Hvala" u 89 poruka
|
Druga opcija, koja opet podrazumeva Windows mašinu, jeste da se koristi Report Designer u VS-u, pošto isti može izveštaje da kreira u Excel formatu.
Jednostavno se onda napravi web servis koji kreira ovaj izveštaj i vrati nazad Excel fajl, a ti onda taj web servis možeš da pozivaš odakle hoćeš.
__________________
Commercial-Free !!! |
06. 02. 2012. | #4 |
Branimir Momcilovic
Qualified
Datum učlanjenja: 15.02.2006
Lokacija: Beograd
Poruke: 167
Hvala: 47
25 "Hvala" u 8 poruka
|
Open XML SDK bi trebalo da je rešenje.
Open XML SDK 2.0 for Microsoft Office ExcelPackage: Office Open XML Format file creation
__________________
Važnije je biti ljubazan, nego biti u pravu. |
2 članova zahvaljuje BraMom za poruku: |
07. 02. 2012. | #5 | |
profesionalac
Qualified
|
Citat:
__________________
Mess with the best die like rest!!! |
|
|
|