Asp Net Sorun
-
arkadaşlar siteye bi excel dosyası upload edip excel den veri okuyup text box a yazdırmam gerekiyor verileri upload işlemini yaptım ama excel den veri okuyamıyorum yardımcı olabilecek var mı ?
kod aşağı da ...
protected void Button1_Click(object sender, EventArgs e)
{
if ((FileUpload1.PostedFile != null) && (FileUpload1.PostedFile.ContentLength > 0))
{
string fn = System.IO.Path.GetFileName(FileUpload1.PostedFile.FileName);
string SaveLocation = Server.MapPath("userFiles") + "\\" + fn;
try
{
FileUpload1.PostedFile.SaveAs(SaveLocation);
Response.Write("Dosya Yüklendi.");
StreamReader yeni;
string yazi;
yeni = File.OpenText(FileUpload1.ToString());
while (yeni != null)
{
yazi = yeni.ReadLine();
TextBox1.Text = yazi;
}
}
catch (Exception ex)
{
Response.Write("Error: " + ex.Message);
}
}
else
{
Response.Write("Yükleme için dosya seçin...");
}
}
-
Baboş excel'den öyle text okur gibi okuyamazsın. Ya harici bir component kullanacaksın (SpireDoc, Aspose), ya bunun anlattığı gibi Interop ile okuyacaksın (serverda excel kurulu olması gerekir) http://www.serdarb.com/csharp-c/c-sharp-ile-ms-excel-dosyasini-okumak-ve-yazmak/ ,ya Office 2007 ve üzeri ile yüklenmiş dosyalar için OpenXML kullanacaksın, yada http://www.carlprothman.net/Default.aspx?tabid=87#OLEDBProviderForMicrosoftJetExcel burada anlatıldğı gibi provider ile bağlanacaksın (application pool 64bit'se en son jet provider 64 bit desteklemiyordu ona göre application pool'u 32bite çekmen gerekir.) Seç beğen al dostum.
-
yok hocam o kadar sıkıntılı değil miş sanırım ya bn hala çöemedim gerçi ama excel i datagrid şeklinde geirmiş oraya burada http://m-akbulut.blogspot.com/2011/08/c-ile-excelden-veri-okuma.html benim bunu datagrid e değilde textbox a yazdırmam gerekiyor birde o linkte excel e bağlanırken ("Provider=Microsoft.ACE.OLEDB.12.0;
Data Source="+dosya_yolu+"; Extended Properties=Excel 12.0"); böle bi path kullanmış anlayamadm bakabilecek olan var mı ?
-
databaseden nasıl veri çekiyorsan exceldeki verileri öyle çekeceksin connection kurman lazım. Excel dosyasındaki en aşağıdaki sayfa1 sayfa2 gibi bölümler databasedeki tablolar gibi kullanacaksın şuan telefondan giriyorum pcden girmiş olsaydım sana daha iyi yardımcı olurdum
-
string constr = "Provider=Microsoft.JET.OleDB.4.0; Data Source=temp\\ogrenci.xls; Extended Properties='Excel 8.0;';";
string sqlcmd = "Select ogrno,adi,soyadi,alan from [Sayfa1$]";
OleDbConnection con = new OleDbConnection(constr);
OleDbCommand cmd = new OleDbCommand(sqlcmd, con);OleDbDataAdapter _da = new OleDbDataAdapter(cmd);
DataSet _ds = new DataSet();
_da.Fill(_ds,"DatabaseOgrenciler");DataTable tbl = _ds.Tables["DatabaseOgrenciler"]; // yada _dsTables[0]; yapabilirsin hocam
gridde göstermek istiyorsan da GridView..DataSource = tbl;
edit: bir de winformdan farklı olarak asp.net de databind işlemi yapman gerekiyor..
gridview.DataBind(); gibi
bu kadar
-
unbalanced bunu yazdı:
-----------------------------
string constr = "Provider=Microsoft.JET.OleDB.4.0; Data Source=temp\\ogrenci.xls; Extended Properties='Excel 8.0;';";
string sqlcmd = "Select ogrno,adi,soyadi,alan from [Sayfa1$]";
OleDbConnection con = new OleDbConnection(constr);
OleDbCommand cmd = new OleDbCommand(sqlcmd, con);OleDbDataAdapter _da = new OleDbDataAdapter(cmd);
DataSet _ds = new DataSet();
_da.Fill(_ds,"DatabaseOgrenciler");DataTable tbl = _ds.Tables["DatabaseOgrenciler"]; // yada _dsTables[0]; yapabilirsin hocam
gridde göstermek istiyorsan da GridView..DataSource = tbl;
bu kadar
-----------------------------
Demek istediğim buydu işte =) -
editledim bi kısmı ona dikkat et hocam
-
unbalanced bunu yazdı:
-----------------------------
string constr = "Provider=Microsoft.JET.OleDB.4.0; Data Source=temp\\ogrenci.xls; Extended Properties='Excel 8.0;';";
string sqlcmd = "Select ogrno,adi,soyadi,alan from [Sayfa1$]";
OleDbConnection con = new OleDbConnection(constr);
OleDbCommand cmd = new OleDbCommand(sqlcmd, con);OleDbDataAdapter _da = new OleDbDataAdapter(cmd);
DataSet _ds = new DataSet();
_da.Fill(_ds,"DatabaseOgrenciler");DataTable tbl = _ds.Tables["DatabaseOgrenciler"]; // yada _dsTables[0]; yapabilirsin hocam
gridde göstermek istiyorsan da GridView..DataSource = tbl;
edit: bir de winformdan farklı olarak asp.net de databind işlemi yapman gerekiyor..
gridview.DataBind(); gibi
bu kadar
-----------------------------hocam araştırdım "Provider=MSDAORA;Data Source=../Kitap1.xls;Extended Properties=Excel 8.0;HDR=YES" connection string i böyle yazmamı istedi dğer türlü kabul etmedi yazdım böyle ama bu seferde couldnt resolve service name hatası verdi yani excel e ulaşılamadı diye nasıl ulaşabilirim ben buna başka ?
-
excel driver i ile ilgilidir.
http://www.microsoft.com/en-us/download/details.aspx?id=23734
bunu bi yükle. eğer xlsx açacaksan 12.0 olacak.. linke de bakabilrisin. ama yazdığım kodun çalışması lazım. çünkü ben kendi yazdığım programdan verdim
