using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.OleDb;
using System.IO;
public partial class export : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//Always use single xls file in xlsfilepath
string ExcelPath = " D:\\xlfile";
if (Directory.Exists(ExcelPath))
{
DirectoryInfo GetExeclFiles = new DirectoryInfo(ExcelPath);
FileInfo[] Files = GetExeclFiles.GetFiles("*.xls");
if (Files.Length > 0)
{
DataTable dtnewtable = new DataTable();
DataTable dttable = new DataTable();
string FilePath, excelConnectionString, sqlConnectionString;
for (int k = 0; k < Files.Length; k++)
{
FilePath = Files[k].FullName.ToString();
excelConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FilePath + ";Extended Properties=Excel 8.0;";
// Create Connection to Excel Workbook
using (OleDbConnection connection = new OleDbConnection(excelConnectionString))
{
if (connection.State == ConnectionState.Open)
connection.Close();
if (connection.State == ConnectionState.Closed)
connection.Open();
// here in query you should pass sheet name here relatedproducts is sheet name
OleDbCommand command = new OleDbCommand("Select * FROM [RelatedProducts$]", connection);
// Create DbDataReader to Data Worksheet
using (System.Data.Common.DbDataReader dr = command.ExecuteReader())
{
dttable.Load(dr);
DataTable ProductsTable = new DataTable();
DataColumn Dtcolumn = new DataColumn("Product", typeof(string));
DataColumn Dtcolumn2 = new DataColumn("RelatedProduct", typeof(string));
ProductsTable.Columns.Add(Dtcolumn);
ProductsTable.Columns.Add(Dtcolumn2);
// code for one-to-many relation
DataTable dt = dttable;
int colCount = dt.Columns.Count;
for (int r = 0; r < dt.Rows.Count; r++)
{
for (int i = 0; i < colCount; i++)
{
for (int j = 0; j < colCount; j++)
{
if (string.IsNullOrEmpty(dt.Rows[r][i].ToString())) { i++; if (i >= colCount) break; }
if (string.IsNullOrEmpty(dt.Rows[r][j].ToString())) { j++; if (j >= colCount) continue; }
if (j != i)
{
if (string.IsNullOrEmpty(dt.Rows[r][i].ToString()) || string.IsNullOrEmpty(dt.Rows[r][j].ToString())) continue;
ProductsTable.Rows.Add(dt.Rows[r][i].ToString(), dt.Rows[r][j].ToString());
}
}
}
}
////
connection.Close();
connection.Dispose();
GridView1.DataSource = ProductsTable;
GridView1.DataBind();
//
}//end of USING dataReader
}//end of USING sql connection
}//end of for loop
}//end of if(Files.Length > 0)
}
}
protected void Button1_Click(object sender, EventArgs e)
{
ExportGridView();
}
private void ExportGridView()
{
string attachment = "attachment; filename=RelatedProducts.xls";
Response.ClearContent();
Response.AddHeader("content-disposition", attachment);
Response.ContentType = "application/ms-excel";
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
// Create a form to contain the grid
HtmlForm frm = new HtmlForm();
GridView1.Parent.Controls.Add(frm);
frm.Attributes["runat"] = "server";
frm.Controls.Add(GridView1);
frm.RenderControl(htw);
//GridView1.RenderControl(htw);
Response.Write(sw.ToString());
Response.End();
}
}
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.OleDb;
using System.IO;
public partial class export : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//Always use single xls file in xlsfilepath
string ExcelPath = " D:\\xlfile";
if (Directory.Exists(ExcelPath))
{
DirectoryInfo GetExeclFiles = new DirectoryInfo(ExcelPath);
FileInfo[] Files = GetExeclFiles.GetFiles("*.xls");
if (Files.Length > 0)
{
DataTable dtnewtable = new DataTable();
DataTable dttable = new DataTable();
string FilePath, excelConnectionString, sqlConnectionString;
for (int k = 0; k < Files.Length; k++)
{
FilePath = Files[k].FullName.ToString();
excelConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FilePath + ";Extended Properties=Excel 8.0;";
// Create Connection to Excel Workbook
using (OleDbConnection connection = new OleDbConnection(excelConnectionString))
{
if (connection.State == ConnectionState.Open)
connection.Close();
if (connection.State == ConnectionState.Closed)
connection.Open();
// here in query you should pass sheet name here relatedproducts is sheet name
OleDbCommand command = new OleDbCommand("Select * FROM [RelatedProducts$]", connection);
// Create DbDataReader to Data Worksheet
using (System.Data.Common.DbDataReader dr = command.ExecuteReader())
{
dttable.Load(dr);
DataTable ProductsTable = new DataTable();
DataColumn Dtcolumn = new DataColumn("Product", typeof(string));
DataColumn Dtcolumn2 = new DataColumn("RelatedProduct", typeof(string));
ProductsTable.Columns.Add(Dtcolumn);
ProductsTable.Columns.Add(Dtcolumn2);
// code for one-to-many relation
DataTable dt = dttable;
int colCount = dt.Columns.Count;
for (int r = 0; r < dt.Rows.Count; r++)
{
for (int i = 0; i < colCount; i++)
{
for (int j = 0; j < colCount; j++)
{
if (string.IsNullOrEmpty(dt.Rows[r][i].ToString())) { i++; if (i >= colCount) break; }
if (string.IsNullOrEmpty(dt.Rows[r][j].ToString())) { j++; if (j >= colCount) continue; }
if (j != i)
{
if (string.IsNullOrEmpty(dt.Rows[r][i].ToString()) || string.IsNullOrEmpty(dt.Rows[r][j].ToString())) continue;
ProductsTable.Rows.Add(dt.Rows[r][i].ToString(), dt.Rows[r][j].ToString());
}
}
}
}
////
connection.Close();
connection.Dispose();
GridView1.DataSource = ProductsTable;
GridView1.DataBind();
//
}//end of USING dataReader
}//end of USING sql connection
}//end of for loop
}//end of if(Files.Length > 0)
}
}
protected void Button1_Click(object sender, EventArgs e)
{
ExportGridView();
}
private void ExportGridView()
{
string attachment = "attachment; filename=RelatedProducts.xls";
Response.ClearContent();
Response.AddHeader("content-disposition", attachment);
Response.ContentType = "application/ms-excel";
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
// Create a form to contain the grid
HtmlForm frm = new HtmlForm();
GridView1.Parent.Controls.Add(frm);
frm.Attributes["runat"] = "server";
frm.Controls.Add(GridView1);
frm.RenderControl(htw);
//GridView1.RenderControl(htw);
Response.Write(sw.ToString());
Response.End();
}
}
No comments:
Post a Comment