Diskuze: C# - List<> do Excelu (xls)

C# .NET .NET (C# a Visual Basic) C# - List<> do Excelu (xls) American English version English version

Avatar
David Jiřík:

Čaute,
mám v C# třídu

class Seznam {
 public string neco1 { get; set; }
 public int neco2 { get; set; }
 public string neco3 { get; set; }
}

Z tý se potom tvoří List<>

List<Seznam> seznam = new List<seznam>();

pak to klasicky naplním

seznam.Add(new Seznam() {
neco1 = "asf",
neco2 = 2,
neco3 = "asdg"
});

Moje otázka zní:
Jak toto všechno převést do excelovské tabulky (.xls(x))? Sloupce by se jmenovali neco1, neco2, neco3 a v každém řádku jeden prvkem toho seznamu.
Děkuji

Odpovědět 12.4.2015 18:19
Syntax error
Avatar
Odpovídá na David Jiřík
Ondřej Štorc:

Musíš si na to buď napsat nějakou knihovnu, nebo stáhnout již nějakou vytvořenou. Tahle třeba vypadá dobře a jak jsem koukal tak má i free verzi s omezením 150 řádků na jeden list a maximálně 5 listy. Kdyby ti nevyhovovala tak hold budeš muset zagooglit..

Editováno 12.4.2015 18:25
Nahoru Odpovědět 12.4.2015 18:24
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
rwn
Člen
Avatar
Odpovídá na David Jiřík
rwn:

Kdysi jsem si něco takového programoval, tehdy jsem vycházel ze základní knihovny

using System.Data.OleDb;

Nevím jak moc jsi obeznámen s databázema, ale postup je velmi podobný. V první řadě je potřeba ConnectionString, jeho obsahem mimo jiné bude i cesta kam se soubor má vytvořit, jeho název, verze excelu, do které se to má ukládat a to, že používaš oledb. Následně se připojíš přes ConnectionString a vytvoříš si na ní CommandText, jedná se o klasický sql příkaz, kde definuješ název tabulky, názvy všech sloupců a jejich datové typy. (Taková ta sql klasika.. "CREATE TABLE..") po tomto příkazu uděláš ještě jeden příkaz pro vkládání, ten bude ještě uzavřen v nějakém třeba for cyklu, kde si budeš projíždět všechny položky z listu a přidávat je do tabulky (zas taková ta sql klasiky.. "INSERT INTO..") no a to je vše. :)

Nahoru Odpovědět 13.4.2015 2:02
Co můžeš naprogramovat dnes, neodkládej na zítřek.
Avatar
Honza
Člen
Avatar
Odpovídá na David Jiřík
Honza:

Ahoj, za mě mohu doporučit použít pro export dat do Excelu knihovnu closed xml http://closedxml.codeplex.com/
Je zdarma, můžeš si stáhnout její zdrojáky, je rychlá (to se hodí při generování většího množství souborů) a na daném PC nemusí být nainstalovaný excel.

Nahoru Odpovědět 16.4.2015 8:23
Snadnou cestou se daleko nedostanete, je tam velká tlačenice...
Avatar
Ghst
Člen
Avatar
Ghst:

Také můžeš použít office api (pokud máš nainstalované office, mělo by to být dostupné) https://msdn.microsoft.com/…d264733.aspx

 
Nahoru Odpovědět 22.4.2015 13:37
Avatar
pracansky
Člen
Avatar
pracansky:

Já jsem použil tohle:
http://epplus.codeplex.com/

Přidáš si knihovnu do svého projektu a můžeš psát i číst xlsx soubory bez excelu.
Na netu jsou spousty příkladů použití a nejsem si vědom žádných vážných omezení.

 
Nahoru Odpovědět 29.4.2015 22:15
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.