I would like to get the sheet name of the downloaded excel file using C # code. The file can be in .xls or .xlsx format. The code I used is as follows:
protected void btnGenerateCSV_Click(object sender, EventArgs e) { string sourceFile = ExcelFileUpload.PostedFile.FileName; string worksheetName = ??? (How to get the first sheetname of the uploaded file) string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + sourceFile + ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1\""; if (sourceFile.Contains(".xlsx")) strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + sourceFile + ";Extended Properties=\"Excel 12.0;HDR=Yes;IMEX=1\""; try { conn = new OleDbConnection(strConn); conn.Open(); cmd = new OleDbCommand("SELECT * FROM [" + worksheetName + "$]", conn); cmd.CommandType = CommandType.Text; wrtr = new StreamWriter(targetFile); da = new OleDbDataAdapter(cmd); DataTable dt = new DataTable(); da.Fill(dt); for (int x = 0; x < dt.Rows.Count; x++) { string rowString = ""; for (int y = 0; y < dt.Columns.Count; y++) { rowString += "\"" + dt.Rows[x][y].ToString() + "\","; } wrtr.WriteLine(rowString); } } catch (Exception exp) { } finally { if (conn.State == ConnectionState.Open) conn.Close(); conn.Dispose(); cmd.Dispose(); da.Dispose(); wrtr.Close(); wrtr.Dispose(); } }
string worksheetName = ??? (How to get the first sheet name of the downloaded file)
Someone please help ...
source share