c sharp code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web.SessionState;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Data.OleDb;
using System.Text;
namespace excel_upload
{
public partial class upload : System.Web.UI.Page
{
protected System.Web.UI.HtmlControls.HtmlInputFile File1;
protected System.Web.UI.HtmlControls.HtmlInputButton Submit1;
DataTable dt = new DataTable();
DataSet ds = new DataSet();
protected void Page_Load(object sender, EventArgs e)
{
//if (IsPostBack)
//{
// Button1_Click(sender,e);
//}
}
protected void Button1_Click(object sender, EventArgs e)
{
if ((File1.PostedFile != null) && (File1.PostedFile.ContentLength > 0))
{
string fn = System.IO.Path.GetFileName(File1.PostedFile.FileName);
string naming = fn.Split('.')[0] + DateTime.Now.ToString("yyyymmdd") + ".csv";// +fn.Split('.')[1]; //fn.Substring(0, 4);// fn + DateTime.Now;
//string sure = naming + DateTime.Now + ".csv";
string SaveLocation = Server.MapPath("Data") + "\\" + naming;
try
{
File1.PostedFile.SaveAs(SaveLocation);
Response.Write("The file has been uploaded.");
}
catch (Exception ex)
{
Response.Write("Error: " + ex.Message);
//Note: Exception.Message returns a detailed message that describes the current exception.
//For security reasons, we do not recommend that you return Exception.Message to end users in
//production environments. It would be better to return a generic error message.
}
}
else
{
Response.Write("Please select a file to upload.");
}
}
protected void btnimport_Click(object sender, EventArgs e)
{
if ((File1.PostedFile != null) && (File1.PostedFile.ContentLength > 0))
{
string fn = System.IO.Path.GetFileName(File1.PostedFile.FileName);
string naming = fn.Split('.')[0] + DateTime.Now.ToString("yyyymmdd") + ".xls";// +fn.Split('.')[1]; //fn.Substring(0, 4);// fn + DateTime.Now;
//string sure = naming + DateTime.Now + ".csv";
string SaveLocation = Server.MapPath("Data") + "\\" + naming;
try
{
File1.PostedFile.SaveAs(SaveLocation);
Response.Write("The file has been uploaded.");
}
catch (Exception ex)
{
Response.Write("Error: " + ex.Message);
//Note: Exception.Message returns a detailed message that describes the current exception.
//For security reasons, we do not recommend that you return Exception.Message to end users in
//production environments. It would be better to return a generic error message.
}
}
else
{
Response.Write("Please select a file to upload.");
}
string connString = "";
string strFileType = Path.GetExtension(File1.PostedFile.FileName).ToLower();
string path = File1.PostedFile.FileName;
if (strFileType.Trim() == ".xls")
{
connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=2\"";
}
//if (strFileType.Trim() == ".csv")
//{
// connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=2\"";
//}
if (strFileType.Trim() == ".xlsx")
{
connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=\"Excel 12.0;HDR=Yes;IMEX=2\"";
}
string query = "SELECT * FROM [Sheet1$]";
OleDbConnection conn = new OleDbConnection(connString);
if (conn.State == ConnectionState.Closed)
conn.Open();
OleDbCommand cmd = new OleDbCommand(query, conn);
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
// DataSet ds = new DataSet();
da.Fill(ds);
dt = ds.Tables[0];
foreach (DataRow dr in dt.Rows)
{
string name = dr["Name"].ToString();
string Extention = dr["Extension"].ToString();
string customer = dr["Customer"].ToString();
string bt = dr["BASE TABLE"].ToString();
}
grvExcelData.DataSource = ds.Tables[0];
grvExcelData.DataBind();
ViewState["dtList"] = dt;
da.Dispose();
conn.Close();
conn.Dispose();
}
public override void VerifyRenderingInServerForm(Control control)
{
/* Verifies that the control is rendered */
}
protected void btnexport_Click(object sender, EventArgs e)
{
//Response.ClearContent();
//Response.Buffer = true;
//Response.AddHeader("content-disposition", string.Format("attachment; filename={0}", "Customers.xls"));
//Response.ContentType = "application/ms-excel";
//StringWriter sw = new StringWriter();
//HtmlTextWriter htw = new HtmlTextWriter(sw);
//grvExcelData.AllowPaging = false;
//grvExcelData.DataBind();
//grvExcelData.RenderControl(htw);
//Response.Write(sw.ToString());
//Response.End();
Response.Clear();
Response.Buffer = true;
Response.AddHeader("content-disposition",
"attachment;filename=GridViewExport.csv");
Response.Charset = "";
Response.ContentType = "application/text";
//Button1_Click(sender, e);
grvExcelData.AllowPaging = false;
grvExcelData.DataBind();
StringBuilder sb = new StringBuilder();
for (int k = 0; k < grvExcelData.Columns.Count; k++)
{
//add separator
sb.Append(grvExcelData.Columns[k].HeaderText + ',');
}
//append new line
sb.Append("\r\n");
for (int i = 0; i < grvExcelData.Rows.Count; i++)
{
for (int k = 0; k < grvExcelData.Columns.Count; k++)
{
//add separator
sb.Append(grvExcelData.Rows[i].Cells[k].Text + ',');
}
//append new line
sb.Append("\r\n");
}
Response.Output.Write(sb.ToString());
Response.Flush();
Response.End();
//try
//{
// DataTable dt1 = (DataTable)ViewState["dtList"];
// if (dt1 == null)
// {
// throw new Exception("No Records to Export");
// }
// string Path = "D:\\ImportExcelFromDatabase\\myexcelfile_" + DateTime.Now.Day.ToString() + "_" + DateTime.Now.Month.ToString() + ".csv";
// FileInfo FI = new FileInfo(Path);
// StringWriter stringWriter = new StringWriter();
// HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWriter);
// DataGrid DataGrd = new DataGrid();
// DataGrd.DataSource = dt1;
// DataGrd.DataBind();
// DataGrd.RenderControl(htmlWrite);
// string directory = Path.Substring(0, Path.LastIndexOf("\\"));// GetDirectory(Path);
// if (!Directory.Exists(directory))
// {
// Directory.CreateDirectory(directory);
// }
// System.IO.StreamWriter vw = new System.IO.StreamWriter(Path, true);
// stringWriter.ToString().Normalize();
// vw.Write(stringWriter.ToString());
// vw.Flush();
// vw.Close();
// WriteAttachment(FI.Name, "application/text", stringWriter.ToString());
//}
//catch (Exception ex)
//{
// //throw new Exception(ex.Message);
//}
}
public static void WriteAttachment(string FileName, string FileType, string content)
{
HttpResponse Response = System.Web.HttpContext.Current.Response;
Response.ClearHeaders();
Response.AppendHeader("Content-Disposition", "attachment; filename=" + FileName);
Response.ContentType = FileType;
Response.Write(content);
Response.End();
}
}
}
aspx code:
<body>
<form id="Form1" method="post" enctype="multipart/form-data" runat="server">
<input type="file" id="File1" name="File1" runat="server" />
<br/>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="upload" />
<asp:Button ID="btnimport" runat="server" onclick="btnimport_Click"
Text="Import" />
<asp:GridView ID="grvExcelData" runat="server">
<HeaderStyle BackColor="#df5015" Font-Bold="true" ForeColor="White" />
</asp:GridView>
<asp:Button ID="btnexport" runat="server" Text="Export to Excel"
onclick="btnexport_Click" />
</form>
</body>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web.SessionState;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Data.OleDb;
using System.Text;
namespace excel_upload
{
public partial class upload : System.Web.UI.Page
{
protected System.Web.UI.HtmlControls.HtmlInputFile File1;
protected System.Web.UI.HtmlControls.HtmlInputButton Submit1;
DataTable dt = new DataTable();
DataSet ds = new DataSet();
protected void Page_Load(object sender, EventArgs e)
{
//if (IsPostBack)
//{
// Button1_Click(sender,e);
//}
}
protected void Button1_Click(object sender, EventArgs e)
{
if ((File1.PostedFile != null) && (File1.PostedFile.ContentLength > 0))
{
string fn = System.IO.Path.GetFileName(File1.PostedFile.FileName);
string naming = fn.Split('.')[0] + DateTime.Now.ToString("yyyymmdd") + ".csv";// +fn.Split('.')[1]; //fn.Substring(0, 4);// fn + DateTime.Now;
//string sure = naming + DateTime.Now + ".csv";
string SaveLocation = Server.MapPath("Data") + "\\" + naming;
try
{
File1.PostedFile.SaveAs(SaveLocation);
Response.Write("The file has been uploaded.");
}
catch (Exception ex)
{
Response.Write("Error: " + ex.Message);
//Note: Exception.Message returns a detailed message that describes the current exception.
//For security reasons, we do not recommend that you return Exception.Message to end users in
//production environments. It would be better to return a generic error message.
}
}
else
{
Response.Write("Please select a file to upload.");
}
}
protected void btnimport_Click(object sender, EventArgs e)
{
if ((File1.PostedFile != null) && (File1.PostedFile.ContentLength > 0))
{
string fn = System.IO.Path.GetFileName(File1.PostedFile.FileName);
string naming = fn.Split('.')[0] + DateTime.Now.ToString("yyyymmdd") + ".xls";// +fn.Split('.')[1]; //fn.Substring(0, 4);// fn + DateTime.Now;
//string sure = naming + DateTime.Now + ".csv";
string SaveLocation = Server.MapPath("Data") + "\\" + naming;
try
{
File1.PostedFile.SaveAs(SaveLocation);
Response.Write("The file has been uploaded.");
}
catch (Exception ex)
{
Response.Write("Error: " + ex.Message);
//Note: Exception.Message returns a detailed message that describes the current exception.
//For security reasons, we do not recommend that you return Exception.Message to end users in
//production environments. It would be better to return a generic error message.
}
}
else
{
Response.Write("Please select a file to upload.");
}
string connString = "";
string strFileType = Path.GetExtension(File1.PostedFile.FileName).ToLower();
string path = File1.PostedFile.FileName;
if (strFileType.Trim() == ".xls")
{
connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=2\"";
}
//if (strFileType.Trim() == ".csv")
//{
// connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=2\"";
//}
if (strFileType.Trim() == ".xlsx")
{
connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=\"Excel 12.0;HDR=Yes;IMEX=2\"";
}
string query = "SELECT * FROM [Sheet1$]";
OleDbConnection conn = new OleDbConnection(connString);
if (conn.State == ConnectionState.Closed)
conn.Open();
OleDbCommand cmd = new OleDbCommand(query, conn);
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
// DataSet ds = new DataSet();
da.Fill(ds);
dt = ds.Tables[0];
foreach (DataRow dr in dt.Rows)
{
string name = dr["Name"].ToString();
string Extention = dr["Extension"].ToString();
string customer = dr["Customer"].ToString();
string bt = dr["BASE TABLE"].ToString();
}
grvExcelData.DataSource = ds.Tables[0];
grvExcelData.DataBind();
ViewState["dtList"] = dt;
da.Dispose();
conn.Close();
conn.Dispose();
}
public override void VerifyRenderingInServerForm(Control control)
{
/* Verifies that the control is rendered */
}
protected void btnexport_Click(object sender, EventArgs e)
{
//Response.ClearContent();
//Response.Buffer = true;
//Response.AddHeader("content-disposition", string.Format("attachment; filename={0}", "Customers.xls"));
//Response.ContentType = "application/ms-excel";
//StringWriter sw = new StringWriter();
//HtmlTextWriter htw = new HtmlTextWriter(sw);
//grvExcelData.AllowPaging = false;
//grvExcelData.DataBind();
//grvExcelData.RenderControl(htw);
//Response.Write(sw.ToString());
//Response.End();
Response.Clear();
Response.Buffer = true;
Response.AddHeader("content-disposition",
"attachment;filename=GridViewExport.csv");
Response.Charset = "";
Response.ContentType = "application/text";
//Button1_Click(sender, e);
grvExcelData.AllowPaging = false;
grvExcelData.DataBind();
StringBuilder sb = new StringBuilder();
for (int k = 0; k < grvExcelData.Columns.Count; k++)
{
//add separator
sb.Append(grvExcelData.Columns[k].HeaderText + ',');
}
//append new line
sb.Append("\r\n");
for (int i = 0; i < grvExcelData.Rows.Count; i++)
{
for (int k = 0; k < grvExcelData.Columns.Count; k++)
{
//add separator
sb.Append(grvExcelData.Rows[i].Cells[k].Text + ',');
}
//append new line
sb.Append("\r\n");
}
Response.Output.Write(sb.ToString());
Response.Flush();
Response.End();
//try
//{
// DataTable dt1 = (DataTable)ViewState["dtList"];
// if (dt1 == null)
// {
// throw new Exception("No Records to Export");
// }
// string Path = "D:\\ImportExcelFromDatabase\\myexcelfile_" + DateTime.Now.Day.ToString() + "_" + DateTime.Now.Month.ToString() + ".csv";
// FileInfo FI = new FileInfo(Path);
// StringWriter stringWriter = new StringWriter();
// HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWriter);
// DataGrid DataGrd = new DataGrid();
// DataGrd.DataSource = dt1;
// DataGrd.DataBind();
// DataGrd.RenderControl(htmlWrite);
// string directory = Path.Substring(0, Path.LastIndexOf("\\"));// GetDirectory(Path);
// if (!Directory.Exists(directory))
// {
// Directory.CreateDirectory(directory);
// }
// System.IO.StreamWriter vw = new System.IO.StreamWriter(Path, true);
// stringWriter.ToString().Normalize();
// vw.Write(stringWriter.ToString());
// vw.Flush();
// vw.Close();
// WriteAttachment(FI.Name, "application/text", stringWriter.ToString());
//}
//catch (Exception ex)
//{
// //throw new Exception(ex.Message);
//}
}
public static void WriteAttachment(string FileName, string FileType, string content)
{
HttpResponse Response = System.Web.HttpContext.Current.Response;
Response.ClearHeaders();
Response.AppendHeader("Content-Disposition", "attachment; filename=" + FileName);
Response.ContentType = FileType;
Response.Write(content);
Response.End();
}
}
}
aspx code:
<body>
<form id="Form1" method="post" enctype="multipart/form-data" runat="server">
<input type="file" id="File1" name="File1" runat="server" />
<br/>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="upload" />
<asp:Button ID="btnimport" runat="server" onclick="btnimport_Click"
Text="Import" />
<asp:GridView ID="grvExcelData" runat="server">
<HeaderStyle BackColor="#df5015" Font-Bold="true" ForeColor="White" />
</asp:GridView>
<asp:Button ID="btnexport" runat="server" Text="Export to Excel"
onclick="btnexport_Click" />
</form>
</body>
No comments:
Post a Comment