TECHNOLOGIES
FORUMS
JOBS
BOOKS
EVENTS
INTERVIEWS
Live
MORE
LEARN
Training
CAREER
MEMBERS
VIDEOS
NEWS
BLOGS
Sign Up
Login
No unread comment.
View All Comments
No unread message.
View All Messages
No unread notification.
View All Notifications
Answers
Post
An Article
A Blog
A News
A Video
An EBook
An Interview Question
Ask Question
Forums
Monthly Leaders
Forum guidelines
Tauseef Kaldane
NA
22
13.5k
How to make file excel file as downloadable in ASP.NET?
Dec 12 2014 1:23 AM
Hello Friends...
i have created excel file using C# at server side using following code.
protected void btnexport_Click(object sender, EventArgs e)
{
Excel.Application excelApp = new Excel.Application();
excelApp.Workbooks.Add();
Excel._Worksheet workSheet = excelApp.ActiveSheet;
//string FilePath = @"C:\Mori-2014\Report\DailyReport.xls";
string FilePath = @"C:\Mori-2014\Mori-2014\Reports\DailyReport.xls";
Excel.Range rng1, rng2, range3,rng4,rng5,rng6,rng7;
SqlConnection ObjConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["constr"].ToString());
SqlCommand ObjCommand = new SqlCommand("spgetproduction", ObjConnection);
ObjConnection.Open();
ObjCommand.CommandType = CommandType.StoredProcedure;
ObjCommand.Parameters.AddWithValue("@date", Convert.ToDateTime(txtdate1.Text));
DataSet ds = new DataSet();
SqlDataAdapter adt = new SqlDataAdapter();
adt.SelectCommand = ObjCommand;
adt.Fill(ds);
workSheet.get_Range("A1", "H1").Merge(true);
workSheet.get_Range("A1:L1").RowHeight = 39;
workSheet.get_Range("A1:L1").EntireRow.VerticalAlignment = 2;
workSheet.get_Range("A1:L1").EntireRow.HorizontalAlignment = 3;
workSheet.get_Range("A1:L1").EntireRow.Font.Size = 26;
workSheet.get_Range("A2:L51").EntireRow.Font.Size = 16;
//workSheet.get_Range("I13:J17").EntireRow.Font.Size = 14;
//workSheet.get_Range("K29:K32").EntireRow.Font.Size = 14;
rng1 = workSheet.get_Range("B1", "D1").EntireColumn;
rng1.HorizontalAlignment = 3;
workSheet.Cells[1, 1] = "DAILY OPERATING REPORT - HINDALCO MURI";
//workSheet.get_Range("A1", "D1").Font.Bold = true;
//workSheet.get_Range("A2", "D2").Font.Bold = true;
//-------- Logo Image ------------
workSheet.Shapes.AddPicture(@"C:\Mori-2014\Mori-2014\Image\muri.png", Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoCTrue, 0, 0, 57, 38);
rng2 = workSheet.get_Range("F1", "H1").EntireColumn;
rng2.HorizontalAlignment = 3;
//--------- Date Part --------------------
workSheet.Cells[1, 9] = String.Format("{0:dd-MMM-yyyy}", Convert.ToDateTime(txtdate1.Text));
workSheet.get_Range("I1", "L1").Merge(true);
// ---------Production ------------
workSheet.Cells[2, 1] = "Production (MT)";
workSheet.Cells[2, 2] = "Today";
workSheet.Cells[2, 3] = "Avg.";
workSheet.Cells[2, 4] = "Todate";
for (int r = 0; r < ds.Tables[0].Rows.Count; r++)
{
for (int c = 0; c < ds.Tables[0].Columns.Count; c++)
{
workSheet.Cells[r+3, c+1] = ds.Tables[0].Rows[r][c].ToString();
}
}
//--------------- Efficiencies -----------
ds = null; adt = null;
ObjCommand = new SqlCommand();
ObjCommand.CommandText = "spgetefficiencies";
ObjCommand.CommandType = CommandType.StoredProcedure;
ObjCommand.Connection = ObjConnection;
ObjCommand.Parameters.AddWithValue("@date", Convert.ToDateTime(txtdate1.Text));
ds = new DataSet();
adt = new SqlDataAdapter();
adt.SelectCommand = ObjCommand;
adt.Fill(ds);
workSheet.get_Range("A6", "D6").Merge(true);
workSheet.get_Range("A7", "D7").Font.Bold = true;
workSheet.Cells[7, 1] = "Efficiencies";
workSheet.Cells[7, 2] = "Target";
workSheet.Cells[7, 3] = "Today";
workSheet.Cells[7, 4] = "Avg.(Todate)";
for (int r = 0; r < ds.Tables[0].Rows.Count; r++)
{
for (int c = 0; c < ds.Tables[0].Columns.Count; c++)
{
workSheet.Cells[r + 8, c + 1] = ds.Tables[0].Rows[r][c].ToString();
}
}
// -------- Consumption Factors --------------
ds = null; adt = null;
ObjCommand = new SqlCommand();
ObjCommand.CommandText = "spgetconsumptionfactors";
ObjCommand.CommandType = CommandType.StoredProcedure;
ObjCommand.Connection = ObjConnection;
ObjCommand.Parameters.AddWithValue("@date", Convert.ToDateTime(txtdate1.Text));
ds = new DataSet();
adt = new SqlDataAdapter();
adt.SelectCommand = ObjCommand;
adt.Fill(ds);
workSheet.get_Range("A20", "D20").Merge(true);
workSheet.get_Range("A21", "D21").Font.Bold = true;
workSheet.Cells[21, 1] = "Consumption Factors";
workSheet.Cells[21, 2] = "Target";
workSheet.Cells[21, 3] = "Today";
workSheet.Cells[21, 4] = "Avg.(Todate)";
for (int r = 0; r < ds.Tables[0].Rows.Count; r++)
{
for (int c = 0; c < ds.Tables[0].Columns.Count; c++)
{
workSheet.Cells[r + 22, c + 1] = ds.Tables[0].Rows[r][c].ToString();
}
}
// ---------- Stock ----------------
workSheet.get_Range("A30", "D30").Merge(true);
ds = null; adt = null;
ObjCommand = new SqlCommand();
ObjCommand.CommandText = "spgetstock";
ObjCommand.CommandType = CommandType.StoredProcedure;
ObjCommand.Connection = ObjConnection;
ObjCommand.Parameters.AddWithValue("@date", Convert.ToDateTime(txtdate1.Text));
ds = new DataSet();
adt = new SqlDataAdapter();
adt.SelectCommand = ObjCommand;
adt.Fill(ds);
workSheet.Cells[31, 1] = "Stock";
workSheet.Cells[31, 3] = "Todate";
workSheet.get_Range("A31", "B31").Merge(true);
workSheet.get_Range("C31", "D31").Merge(true);
for (int r = 0; r < ds.Tables[0].Rows.Count; r++)
{
for (int c = 0; c < ds.Tables[0].Columns.Count; c++)
{
workSheet.Cells[r + 32, c + 1] = ds.Tables[0].Rows[r][0].ToString();
}
}
workSheet.get_Range("B32", "B41").Clear();
for (int r = 0; r < ds.Tables[0].Rows.Count; r++)
{
for (int c = 0; c < ds.Tables[0].Columns.Count; c++)
{
workSheet.Cells[r + 32, c + 3] = ds.Tables[0].Rows[r][1].ToString();
}
}
workSheet.get_Range("D32", "D41").Clear();
workSheet.get_Range("A32", "B41").Merge(true);
workSheet.get_Range("C32", "D41").Merge(true);
workSheet.get_Range("A31", "D31").Font.Bold = true;
// ---------- PDS Slurry ----------------
workSheet.get_Range("A42", "D42").Merge(true);
ds = null; adt = null;
ObjCommand = new SqlCommand();
ObjCommand.CommandText = "spgetpdsslurry";
ObjCommand.CommandType = CommandType.StoredProcedure;
ObjCommand.Connection = ObjConnection;
ObjCommand.Parameters.AddWithValue("@date", Convert.ToDateTime(txtdate1.Text));
ds = new DataSet();
adt = new SqlDataAdapter();
adt.SelectCommand = ObjCommand;
adt.Fill(ds);
workSheet.Cells[43, 1] = "Reasons(s) for Flow Cut:";
workSheet.Cells[43, 2] = "Normal Flow";
workSheet.get_Range("B43", "C43").Merge(true);
workSheet.Cells[43, 4] = "Today's Flow";
workSheet.get_Range("A43", "D43").Font.Bold = true;
if (ds.Tables[0].Rows.Count > 0)
{
workSheet.Cells[44, 1] = ds.Tables[0].Rows[0][0].ToString();
workSheet.Cells[44, 2] = ds.Tables[0].Rows[0][1].ToString();
workSheet.get_Range("B44", "C44").Merge(true);
workSheet.Cells[44, 4] = ds.Tables[0].Rows[0][2].ToString();
}
workSheet.Cells[45, 1] = "Reasons(s) for Flow Cut:";
workSheet.get_Range("A45", "D47").Font.Bold = true;
workSheet.get_Range("A45:D47").VerticalAlignment = 1;
workSheet.get_Range("A45:D47").Merge();
workSheet.Cells[48, 1] = "Note: Daily basis declared production,efficiencies,receipt and dispatch numbers are only tentative. It can be verified with month-end physical inventory.";
workSheet.get_Range("A48:D49").Merge();
workSheet.get_Range("A48:D49").VerticalAlignment = 1;
workSheet.get_Range("A48:D49").WrapText = true;
workSheet.get_Range("A48:D49").Font.Bold = true;
workSheet.get_Range("A48:D49").Font.Size = 14;
//-------------Rain Fall------------------
ds = null; adt = null;
ObjCommand = new SqlCommand();
ObjCommand.CommandText = "spgetrainfall";
ObjCommand.CommandType = CommandType.StoredProcedure;
ObjCommand.Connection = ObjConnection;
ObjCommand.Parameters.AddWithValue("@date", Convert.ToDateTime(txtdate1.Text));
ds = new DataSet();
adt = new SqlDataAdapter();
adt.SelectCommand = ObjCommand;
adt.Fill(ds);
workSheet.Cells[50, 1] = "Rain Fall (mm)";
workSheet.get_Range("A50:B51").Merge();
workSheet.get_Range("A50:B51").VerticalAlignment = 2;
workSheet.get_Range("A50:B51").HorizontalAlignment = 3;
workSheet.get_Range("A50:B51").Font.Bold = true;
workSheet.Cells[50, 3] = "Today";
workSheet.Cells[50, 4] = "Todate";
workSheet.Cells[51, 3] = ds.Tables[0].Rows[0][1].ToString();
workSheet.Cells[51, 4] = ds.Tables[0].Rows[0][2].ToString();
workSheet.get_Range("C50", "D50").Font.Bold = true;
//-------P & B Target for Hydrate--------
workSheet.Cells[2, 5] = "P & B Target for Hydrate(MT)";
workSheet.get_Range("E2", "G2").Merge();
workSheet.get_Range("E2", "G2").HorizontalAlignment = 3;
workSheet.get_Range("E2", "G2").VerticalAlignment = 2;
workSheet.get_Range("E2", "H2").Font.Bold = true;
workSheet.Cells[2, 8] = "29000";
workSheet.Cells[3, 5] = "Revised target for Hydrate(MT)";
workSheet.get_Range("E3","G3").Merge();
workSheet.get_Range("E3", "G3").HorizontalAlignment = 3;
workSheet.get_Range("E3", "G3").VerticalAlignment = 2;
workSheet.Cells[3, 8] = "29000";
//---------- Bauxite Quality ------------
workSheet.get_Range("E4", "H4").Merge(true);
workSheet.Cells[5, 5] = "Bauxite Quality (%)";
workSheet.Cells[5, 6] = "Target";
workSheet.Cells[5, 7] = "Today";
workSheet.Cells[5, 8] = "Avg.(todate)";
workSheet.get_Range("E5", "H5").Font.Bold = true;
ds = null; adt = null;
ObjCommand = new SqlCommand();
ObjCommand.CommandText = "spgetbauxitequality";
ObjCommand.CommandType = CommandType.StoredProcedure;
ObjCommand.Connection = ObjConnection;
ObjCommand.Parameters.AddWithValue("@date", Convert.ToDateTime(txtdate1.Text));
ds = new DataSet();
adt = new SqlDataAdapter();
adt.SelectCommand = ObjCommand;
adt.Fill(ds);
for (int r = 0; r < ds.Tables[0].Rows.Count; r++)
{
for (int c = 0; c < ds.Tables[0].Columns.Count; c++)
{
workSheet.Cells[r + 6, c + 5] = ds.Tables[0].Rows[r][c].ToString();
}
}
//-------------- Loss Times ------------
workSheet.get_Range("E11", "H11").Merge(true);
workSheet.Cells[12, 5] = "Loss Times(Hrs)";
workSheet.get_Range("E12", "F12").Merge();
workSheet.Cells[12, 7] = "Today";
workSheet.Cells[12, 8] = "ToDate";
workSheet.get_Range("E12", "H12").Font.Bold = true;
ds = null; adt = null;
ObjCommand = new SqlCommand();
ObjCommand.CommandText = "spgetlosstimes";
ObjCommand.CommandType = CommandType.StoredProcedure;
ObjCommand.Connection = ObjConnection;
ObjCommand.Parameters.AddWithValue("@date", Convert.ToDateTime(txtdate1.Text));
ds = new DataSet();
adt = new SqlDataAdapter();
adt.SelectCommand = ObjCommand;
adt.Fill(ds);
for (int r = 0; r < ds.Tables[0].Rows.Count; r++)
{
for (int c = 0; c < ds.Tables[0].Columns.Count; c++)
{
workSheet.Cells[r + 13, c + 5] = ds.Tables[0].Rows[r][0].ToString();
}
}
workSheet.get_Range("F13", "F17").Clear();
workSheet.get_Range("E13","F17").Merge(true);
for (int r = 0; r < ds.Tables[0].Rows.Count; r++)
{
for (int c = 0; c < ds.Tables[0].Columns.Count; c++)
{
workSheet.Cells[r + 13, c + 7] = ds.Tables[0].Rows[r][1].ToString();
}
}
for (int r = 0; r < ds.Tables[0].Rows.Count; r++)
{
for (int c = 0; c < ds.Tables[0].Columns.Count; c++)
{
workSheet.Cells[r + 13, c + 8] = ds.Tables[0].Rows[r][2].ToString();
}
}
workSheet.get_Range("I13:I17").Clear();
workSheet.get_Range("J13:J17").Clear();
//----------Operating Flows -----------
workSheet.get_Range("E18", "H18").Merge(true);
ds = null; adt = null;
ObjCommand = new SqlCommand();
ObjCommand.CommandText = "spgetoperatingflows";
ObjCommand.CommandType = CommandType.StoredProcedure;
ObjCommand.Connection = ObjConnection;
ObjCommand.Parameters.AddWithValue("@date", Convert.ToDateTime(txtdate1.Text));
ds = new DataSet();
adt = new SqlDataAdapter();
adt.SelectCommand = ObjCommand;
adt.Fill(ds);
workSheet.Cells[19, 5] = "Operating Flows";
workSheet.Cells[19, 6] = "Target";
workSheet.Cells[19, 7] = "Today";
workSheet.Cells[19, 8] = "Avg.(Todate)";
for (int r = 0; r < ds.Tables[0].Rows.Count; r++)
{
for (int c = 0; c < ds.Tables[0].Columns.Count; c++)
{
workSheet.Cells[r + 20, c + 5] = ds.Tables[0].Rows[r][c].ToString();
}
}
workSheet.get_Range("E19", "H19").Font.Bold = true;
workSheet.get_Range("E27").Clear();
//-------------CGPP Report -----------
workSheet.get_Range("E27", "H27").Merge(true);
workSheet.Cells[28, 5] = "CGPP Report";
workSheet.Cells[28, 6] = "Target";
workSheet.Cells[28, 7] = "Today";
workSheet.Cells[28, 8] = "Avg.(Todate)";
workSheet.get_Range("E28", "H28").Font.Bold = true;
workSheet.get_Range("F28", "H28").HorizontalAlignment = 3;
ds = null; adt = null;
ObjCommand = new SqlCommand();
ObjCommand.CommandText = "spgetcgpp";
ObjCommand.CommandType = CommandType.StoredProcedure;
ObjCommand.Connection = ObjConnection;
ObjCommand.Parameters.AddWithValue("@date", Convert.ToDateTime(txtdate1.Text));
ds = new DataSet();
adt = new SqlDataAdapter();
adt.SelectCommand = ObjCommand;
adt.Fill(ds);
for (int r = 0; r < ds.Tables[0].Rows.Count; r++)
{
for (int c = 0; c < ds.Tables[0].Columns.Count; c++)
{
workSheet.Cells[r + 29, c + 5] = ds.Tables[0].Rows[r][c].ToString();
}
}
////----------Process Steam Consumption---------
//workSheet.get_Range("E33", "H33").Merge(true);
workSheet.Cells[33, 5] = "Process Steam Consumption (TPH)";
workSheet.get_Range("E33", "F33").Merge();
workSheet.get_Range("E33", "H33").Font.Bold = true;
workSheet.Cells[33, 7] = "Today";
workSheet.Cells[33, 8] = "Avg.(Todate)";
ds = null; adt = null;
ObjCommand = new SqlCommand();
ObjCommand.CommandText = "spgetprocesssteamconsumption";
ObjCommand.CommandType = CommandType.StoredProcedure;
ObjCommand.Connection = ObjConnection;
ObjCommand.Parameters.AddWithValue("@date", Convert.ToDateTime(txtdate1.Text));
ds = new DataSet();
adt = new SqlDataAdapter();
adt.SelectCommand = ObjCommand;
adt.Fill(ds);
for (int r = 0; r < ds.Tables[0].Rows.Count; r++)
{
for (int c = 0; c < ds.Tables[0].Columns.Count; c++)
{
if (c == 1)
break;
workSheet.Cells[r + 34, c + 5] = ds.Tables[0].Rows[r][0].ToString();
}
}
workSheet.get_Range("E34", "F37").Merge(true);
for (int r = 0; r < ds.Tables[0].Rows.Count; r++)
{
for (int c = 0; c < ds.Tables[0].Columns.Count; c++)
{
workSheet.Cells[r + 34, c + 7] = ds.Tables[0].Rows[r][1].ToString();
}
}
for (int r = 0; r < ds.Tables[0].Rows.Count; r++)
{
for (int c = 0; c < ds.Tables[0].Columns.Count; c++)
{
workSheet.Cells[r + 34, c + 8] = ds.Tables[0].Rows[r][2].ToString();
}
}
//workSheet.get_Range("I35:K32").Clear();
workSheet.Cells[38, 5] = "Total Process Steam (TPH)";
workSheet.Cells[38, 7] = "=SUM(G34:G37)";
workSheet.Cells[38, 8] = "=SUM(H34:H37)";
workSheet.get_Range("E38", "F38").Merge();
workSheet.get_Range("E38", "H38").Font.Bold = true;
////-------------- Receipts ----------
// workSheet.get_Range("E40", "H40").Merge(true);
workSheet.Cells[39, 5] = "Receipts";
workSheet.get_Range("E39", "F39").Merge();
workSheet.get_Range("E39", "H39").Font.Bold = true;
workSheet.Cells[39, 7] = "Today";
workSheet.Cells[39, 8] = "Todate";
ds = null; adt = null;
ObjCommand = new SqlCommand();
ObjCommand.CommandText = "spgetreciept";
ObjCommand.CommandType = CommandType.StoredProcedure;
ObjCommand.Connection = ObjConnection;
ObjCommand.Parameters.AddWithValue("@date", Convert.ToDateTime(txtdate1.Text));
ds = new DataSet();
adt = new SqlDataAdapter();
adt.SelectCommand = ObjCommand;
adt.Fill(ds);
for (int r = 0; r < ds.Tables[0].Rows.Count; r++)
{
for (int c = 0; c < ds.Tables[0].Columns.Count; c++)
{
if (c == 1)
break;
workSheet.Cells[r + 40, c + 5] = ds.Tables[0].Rows[r][0].ToString();
}
}
//workSheet.get_Range("F35", "F41").Clear();
workSheet.get_Range("E40", "F46").Merge(true);
for (int r = 0; r < ds.Tables[0].Rows.Count; r++)
{
for (int c = 0; c < ds.Tables[0].Columns.Count; c++)
{
if (c == 2)
break;
workSheet.Cells[r + 40, c + 7] = ds.Tables[0].Rows[r][c+1].ToString();
}
}
//------------- Reason(s) For Loss Time
workSheet.Cells[47, 5] = "Reasons for Loss Times";
workSheet.get_Range("E47", "L47").Merge(true);
workSheet.get_Range("E47", "L47").Font.Bold = true;
workSheet.Cells[48, 5] = "LT";
workSheet.Cells[49, 5] = "HT";
workSheet.Cells[50, 5] = "CFBC";
workSheet.Cells[51, 5] = "Microfiner";
workSheet.get_Range("F48", "L51").Merge(true);
workSheet.Cells[51, 6] = "Feed Material Shortage.";
workSheet.get_Range("F48", "L51").HorizontalAlignment = 1;
//---------P & B Target---------
workSheet.Cells[2, 9] = "P & B Target for Std.Caln. (MT)";
workSheet.get_Range("I2", "K2").Merge(true);
workSheet.get_Range("I2", "K2").HorizontalAlignment = 3;
workSheet.get_Range("I2", "K2").VerticalAlignment = 2;
workSheet.get_Range("I2", "L2").Font.Bold = true;
workSheet.Cells[2, 12] = "27600";
workSheet.Cells[3, 9] = "Reviseed target for Std. Caln. (MT)";
workSheet.get_Range("I3", "K3").Merge(true);
workSheet.get_Range("I3", "K3").HorizontalAlignment = 3;
workSheet.get_Range("I3", "K3").VerticalAlignment = 2;
workSheet.get_Range("I3", "L3").Font.Bold = true;
workSheet.Cells[3, 12] = "27600";
//--------------- Operating Parameters -------------
workSheet.Cells[4, 9] = "Operating Parameters";
workSheet.Cells[4, 11] = "Today";
workSheet.get_Range("I4", "J4").Merge(true);
workSheet.get_Range("I4", "L4").Font.Bold = true;
workSheet.get_Range("I4", "L4").HorizontalAlignment = 3;
workSheet.get_Range("K4", "L4").Merge(true);
//--------------- Red Area 1--------------
ds = null; adt = null;
ObjCommand = new SqlCommand();
ObjCommand.CommandText = "sp_getoperatingparameters1";
ObjCommand.CommandType = CommandType.StoredProcedure;
ObjCommand.Connection = ObjConnection;
ObjCommand.Parameters.AddWithValue("@date", Convert.ToDateTime(txtdate1.Text));
ds = new DataSet();
adt = new SqlDataAdapter();
adt.SelectCommand = ObjCommand;
adt.Fill(ds);
workSheet.Cells[5, 9] = "Red Area";
workSheet.Cells[5, 10] = "Target";
workSheet.Cells[5, 11] = "Conc.";
workSheet.Cells[5, 12] = "Ratio";
workSheet.get_Range("I5", "L5").Font.Bold = true;
workSheet.get_Range("J5", "L5").HorizontalAlignment = 3;
for (int r = 0; r < ds.Tables[0].Rows.Count; r++)
{
for (int c = 0; c < ds.Tables[0].Columns.Count; c++)
{
workSheet.Cells[r + 6, c + 9] = ds.Tables[0].Rows[r][c].ToString();
}
}
workSheet.get_Range("J5", "L27").HorizontalAlignment = 3;
//-------------Red Area 2 --------------
ds = null; adt = null;
ObjCommand = new SqlCommand();
ObjCommand.CommandText = "spgetoperatingparameters2";
ObjCommand.CommandType = CommandType.StoredProcedure;
ObjCommand.Connection = ObjConnection;
ObjCommand.Parameters.AddWithValue("@date", Convert.ToDateTime(txtdate1.Text));
ds = new DataSet();
adt = new SqlDataAdapter();
adt.SelectCommand = ObjCommand;
adt.Fill(ds);
for (int r = 0; r < ds.Tables[0].Rows.Count; r++)
{
for (int c = 0; c < ds.Tables[0].Columns.Count; c++)
{
workSheet.Cells[r + 12, c + 9] = ds.Tables[0].Rows[r][c].ToString();
}
}
workSheet.get_Range("K12", "L27").Merge(true);
workSheet.get_Range("I13:J17").EntireRow.Font.Size = 16;
//----------------------DMS Running Hours---------------
ds = null; adt = null;
ObjCommand = new SqlCommand();
ObjCommand.CommandText = "spgetdmsrunninghours";
ObjCommand.CommandType = CommandType.StoredProcedure;
ObjCommand.Connection = ObjConnection;
ObjCommand.Parameters.AddWithValue("@date", Convert.ToDateTime(txtdate1.Text));
ds = new DataSet();
adt = new SqlDataAdapter();
adt.SelectCommand = ObjCommand;
adt.Fill(ds);
workSheet.Cells[28, 9] = "DMS Running Hours";
workSheet.Cells[28, 11] = "Today";
workSheet.Cells[28, 12] = "Todate";
workSheet.get_Range("I28", "L28").Font.Bold = true;
workSheet.get_Range("K28", "L28").HorizontalAlignment = 3;
workSheet.get_Range("I28", "J28").Merge(true);
workSheet.get_Range("J29", "J32").Clear();
workSheet.get_Range("I29", "J32").Merge(true);
for (int r = 0; r < ds.Tables[0].Rows.Count; r++)
{
for (int c = 0; c < ds.Tables[0].Columns.Count; c++)
{
workSheet.Cells[r + 29, c + 9] = ds.Tables[0].Rows[r][0].ToString();
}
}
workSheet.get_Range("K29", "K32").Clear();
for (int r = 0; r < ds.Tables[0].Rows.Count; r++)
{
for (int c = 0; c < ds.Tables[0].Columns.Count; c++)
{
if (c == 2)
break;
workSheet.Cells[r + 29, c + 11] = ds.Tables[0].Rows[r][c + 1].ToString();
}
}
workSheet.get_Range("K29", "L32").HorizontalAlignment = 3;
workSheet.get_Range("K29:K32").EntireRow.Font.Size = 16;
//----------- White Area -----------------
workSheet.Cells[33, 9] = "White Area";
workSheet.Cells[33, 11] = "Today";
workSheet.get_Range("I33", "J33").Merge(true);
workSheet.get_Range("K33", "L33").Merge(true);
workSheet.get_Range("K33", "L33").HorizontalAlignment = 3;
workSheet.get_Range("I33", "L33").Font.Bold = true;
ds = null; adt = null;
ObjCommand = new SqlCommand();
ObjCommand.CommandText = "sp_getwhitearea";
ObjCommand.CommandType = CommandType.StoredProcedure;
ObjCommand.Connection = ObjConnection;
ObjCommand.Parameters.AddWithValue("@date", Convert.ToDateTime(txtdate1.Text));
ds = new DataSet();
adt = new SqlDataAdapter();
adt.SelectCommand = ObjCommand;
adt.Fill(ds);
for (int r = 0; r < ds.Tables[0].Rows.Count; r++)
{
for (int c = 0; c < ds.Tables[0].Columns.Count; c++)
{
if (c == 1)
break;
workSheet.Cells[r + 34, c + 9] = ds.Tables[0].Rows[r][0].ToString();
}
}
workSheet.get_Range("I34", "J37").Merge(true);
for (int r = 0; r < ds.Tables[0].Rows.Count; r++)
{
for (int c = 0; c < ds.Tables[0].Columns.Count; c++)
{
if (c == 1)
break;
workSheet.Cells[r + 34, c + 11] = ds.Tables[0].Rows[r][c+1].ToString();
}
}
workSheet.get_Range("K34", "L37").Merge(true);
workSheet.get_Range("K34", "L37").HorizontalAlignment=3;
//--------------- Dispatches -----------------
ds = null; adt = null;
ObjCommand = new SqlCommand();
ObjCommand.CommandText = "spgetdispatch";
ObjCommand.CommandType = CommandType.StoredProcedure;
ObjCommand.Connection = ObjConnection;
ObjCommand.Parameters.AddWithValue("@date", Convert.ToDateTime(txtdate1.Text));
ds = new DataSet();
adt = new SqlDataAdapter();
adt.SelectCommand = ObjCommand;
adt.Fill(ds);
workSheet.Cells[38, 9] = "Dispatches (MT)";
workSheet.Cells[38, 11] = "Today";
workSheet.Cells[38, 12] = "Todate";
workSheet.get_Range("I38", "J38").Merge(true);
workSheet.get_Range("I38", "L38").Font.Bold = true;
workSheet.get_Range("K38", "L46").HorizontalAlignment = 3;
for (int r = 0; r < ds.Tables[0].Rows.Count; r++)
{
for (int c = 0; c < ds.Tables[0].Columns.Count; c++)
{
if (c == 1)
break;
workSheet.Cells[r + 39, c + 9] = ds.Tables[0].Rows[r][0].ToString();
}
}
workSheet.get_Range("J39", "J45").Clear();
workSheet.get_Range("I39", "J46").Merge(true);
for (int r = 0; r < ds.Tables[0].Rows.Count; r++)
{
for (int c = 0; c < ds.Tables[0].Columns.Count; c++)
{
if (c == 2)
break;
workSheet.Cells[r + 39, c + 11] = ds.Tables[0].Rows[r][c+1].ToString();
}
}
workSheet.Cells[46, 9] = "Total Dispatch";
workSheet.Cells[46, 11] = "=SUM(K39:K45)";
workSheet.Cells[46, 12] = "=SUM(L39:L45)";
workSheet.get_Range("I46", "L46").Font.Bold = true;
//---------- New Excel Sheet for graph data -----------
var xlSheets = excelApp.Sheets as Excel.Sheets;
var xlNewSheet = (Excel.Worksheet)xlSheets.Add(xlSheets[1], Type.Missing, Type.Missing, Type.Missing);
xlNewSheet.Name = "graphdata";
// ------------- productiongraph --------------
ds = null; adt = null;
ObjCommand = new SqlCommand();
ObjCommand.CommandText = "spgetproductiongraph2";
ObjCommand.CommandType = CommandType.StoredProcedure;
ObjCommand.Connection = ObjConnection;
ObjCommand.Parameters.AddWithValue("@date", Convert.ToDateTime(txtdate1.Text));
ds = new DataSet();
adt = new SqlDataAdapter();
adt.SelectCommand = ObjCommand;
adt.Fill(ds);
//xlNewSheet.Cells[1, 1] = "Production Graph Data";
//xlNewSheet.get_Range("A1", "C1").Merge(true);
xlNewSheet.Cells[1, 1] = "Date";
xlNewSheet.Cells[1, 2] = "Hydrate";
xlNewSheet.Cells[1, 3] = "Calcination";
for (int r = 0; r < ds.Tables[0].Rows.Count; r++)
{
for (int c = 0; c < ds.Tables[0].Columns.Count; c++)
{
xlNewSheet.Cells[r + 2, c + 1] = ds.Tables[0].Rows[r][c].ToString();
}
}
range3 = xlNewSheet.get_Range("A2").EntireColumn;
range3.NumberFormat = "dd-MMM;@";
rng4 = xlNewSheet.get_Range("A2", "C2").CurrentRegion;
var charts = workSheet.ChartObjects() as
Microsoft.Office.Interop.Excel.ChartObjects;
var chartObject = charts.Add(0, 1095, 240, 300) as
Microsoft.Office.Interop.Excel.ChartObject;
var chart = chartObject.Chart;
// Set chart range.
var range = rng4; // worksheet.get_Range(topLeft, bottomRight);
chart.SetSourceData(range);
// Set chart properties.
chart.ChartType = Microsoft.Office.Interop.Excel.XlChartType.xlLine;
chart.ChartWizard(Source: range,SeriesLabels:"=B2:C2",
Title: "Production, MT",
CategoryTitle:null,
ValueTitle: null);
var xlAxis = (Excel.Axis)chart.Axes(Excel.XlAxisType.xlCategory, Excel.XlAxisGroup.xlPrimary);
xlAxis.HasMajorGridlines = false;
xlAxis.HasMinorGridlines = false;
chart.ChartArea.Border.Color = System.Drawing.Color.Black;
chart.ChartArea.Border.Weight = Excel.XlBorderWeight.xlThin;
//----------- Productivities gpl graph ------------
ds = null; adt = null;
ObjCommand = new SqlCommand();
ObjCommand.CommandText = "spgetefficienciesgraph2";
ObjCommand.CommandType = CommandType.StoredProcedure;
ObjCommand.Connection = ObjConnection;
ObjCommand.Parameters.AddWithValue("@date", Convert.ToDateTime(txtdate1.Text));
ds = new DataSet();
adt = new SqlDataAdapter();
adt.SelectCommand = ObjCommand;
adt.Fill(ds);
//xlNewSheet.Cells[1, 1] = "Production Graph Data";
//xlNewSheet.get_Range("A1", "C1").Merge(true);
xlNewSheet.Cells[1, 5] = "Date";
xlNewSheet.Cells[1, 6] = "Sp. Liq. Prod";
xlNewSheet.Cells[1, 7] = "Digester Prod";
for (int r = 0; r < ds.Tables[0].Rows.Count; r++)
{
for (int c = 0; c < ds.Tables[0].Columns.Count; c++)
{
xlNewSheet.Cells[r + 2, c + 5] = ds.Tables[0].Rows[r][c].ToString();
}
}
range3 = xlNewSheet.get_Range("E2").EntireColumn;
range3.NumberFormat = "dd-MMM;@";
rng5 = xlNewSheet.get_Range("E2", "G2").CurrentRegion;
var charts2 = workSheet.ChartObjects() as
Microsoft.Office.Interop.Excel.ChartObjects;
var chartObject2 = charts2.Add(242, 1095, 335, 300) as
Microsoft.Office.Interop.Excel.ChartObject;
var chart2 = chartObject2.Chart;
// Set chart range.
var range2 = rng5; // worksheet.get_Range(topLeft, bottomRight);
chart2.SetSourceData(range2);
// Set chart properties.
chart2.ChartType = Microsoft.Office.Interop.Excel.XlChartType.xlLine;
chart2.ChartWizard(Source: range2, SeriesLabels: "=F2:G2",
Title: "Productivities, gpl",
CategoryTitle: null,
ValueTitle: null);
var xlAxis2 = (Excel.Axis)chart2.Axes(Excel.XlAxisType.xlCategory, Excel.XlAxisGroup.xlPrimary);
xlAxis2.HasMajorGridlines = false;
xlAxis2.HasMinorGridlines = false;
chart2.ChartArea.Border.Color = System.Drawing.Color.Black;
chart2.ChartArea.Border.Weight = Excel.XlBorderWeight.xlThin;
//-------------- TAA & Silica------------------
ds = null; adt = null;
ObjCommand = new SqlCommand();
ObjCommand.CommandText = "spgetbauxitequalitygraph2";
ObjCommand.CommandType = CommandType.StoredProcedure;
ObjCommand.Connection = ObjConnection;
ObjCommand.Parameters.AddWithValue("@date", Convert.ToDateTime(txtdate1.Text));
ds = new DataSet();
adt = new SqlDataAdapter();
adt.SelectCommand = ObjCommand;
adt.Fill(ds);
//xlNewSheet.Cells[1, 1] = "Production Graph Data";
//xlNewSheet.get_Range("A1", "C1").Merge(true);
xlNewSheet.Cells[1, 9] = "Date";
xlNewSheet.Cells[1, 10] = "TAA";
xlNewSheet.Cells[1, 11] = "Silica";
for (int r = 0; r < ds.Tables[0].Rows.Count; r++)
{
for (int c = 0; c < ds.Tables[0].Columns.Count; c++)
{
xlNewSheet.Cells[r + 2, c + 9] = ds.Tables[0].Rows[r][c].ToString();
}
}
range3 = null;
range3 = xlNewSheet.get_Range("I2").EntireColumn;
range3.NumberFormat = "dd-MMM;@";
rng6 = xlNewSheet.get_Range("I2", "K2").CurrentRegion;
var charts3 = workSheet.ChartObjects() as
Microsoft.Office.Interop.Excel.ChartObjects;
var chartObject3 = charts3.Add(0, 1400, 240, 300) as
Microsoft.Office.Interop.Excel.ChartObject;
var chart3 = chartObject3.Chart;
// Set chart range.
//var rnge3 = rng6; // worksheet.get_Range(topLeft, bottomRight);
chart3.SetSourceData(rng6);
// Set chart properties.
chart3.ChartType = Microsoft.Office.Interop.Excel.XlChartType.xlLine;
chart3.ChartWizard(Source: rng6, SeriesLabels: "=J2:K2",
Title: "TAA & Silica, %",
CategoryTitle: null,
ValueTitle: null);
var xlAxis3 = (Excel.Axis)chart.Axes(Excel.XlAxisType.xlCategory, Excel.XlAxisGroup.xlPrimary);
xlAxis3.HasMajorGridlines = false;
xlAxis3.HasMinorGridlines = false;
chart3.ChartArea.Border.Color = System.Drawing.Color.Black;
chart3.ChartArea.Border.Weight = Excel.XlBorderWeight.xlThin;
//----------- Process Steam Consumption Graph -----------
ds = null; adt = null;
ObjCommand = new SqlCommand();
ObjCommand.CommandText = "spgetprocesssteamconsumptiongraph2";
ObjCommand.CommandType = CommandType.StoredProcedure;
ObjCommand.Connection = ObjConnection;
ObjCommand.Parameters.AddWithValue("@date", Convert.ToDateTime(txtdate1.Text));
ds = new DataSet();
adt = new SqlDataAdapter();
adt.SelectCommand = ObjCommand;
adt.Fill(ds);
//xlNewSheet.Cells[1, 1] = "Production Graph Data";
//xlNewSheet.get_Range("A1", "C1").Merge(true);
xlNewSheet.Cells[1, 13] = "Date";
xlNewSheet.Cells[1, 14] = "Process Steam";
for (int r = 0; r < ds.Tables[0].Rows.Count; r++)
{
for (int c = 0; c < ds.Tables[0].Columns.Count; c++)
{
xlNewSheet.Cells[r + 2, c + 13] = ds.Tables[0].Rows[r][c].ToString();
}
}
Excel.Range range4 = xlNewSheet.get_Range("M2").EntireColumn;
range4.NumberFormat = "dd-MMM;@";
Excel.Range rng8 = xlNewSheet.get_Range("M2", "N2").CurrentRegion;
var charts4 = workSheet.ChartObjects() as
Microsoft.Office.Interop.Excel.ChartObjects;
var chartObject4 = charts4.Add(242, 1400, 335, 300) as
Microsoft.Office.Interop.Excel.ChartObject;
var chart4 = chartObject4.Chart;
// Set chart range.
//var range4 = rng5; // worksheet.get_Range(topLeft, bottomRight);
chart4.SetSourceData(rng8);
// Set chart properties.
chart4.ChartType = Microsoft.Office.Interop.Excel.XlChartType.xlLine;
chart4.ChartWizard(Source: rng8, SeriesLabels: "=N2",
Title: "Process Steam Consumption, t/t",
CategoryTitle: null,
ValueTitle: null);
var xlAxis4 = (Excel.Axis)chart4.Axes(Excel.XlAxisType.xlCategory, Excel.XlAxisGroup.xlPrimary);
xlAxis4.HasMajorGridlines = false;
xlAxis4.HasMinorGridlines = false;
chart4.ChartArea.Border.Color = System.Drawing.Color.Black;
chart4.ChartArea.Border.Weight = Excel.XlBorderWeight.xlThin;
//--------- Saving Excel Sheet -----------;
//range3 = workSheet.get_Range("A1", "L51");
workSheet.get_Range("A1:L51").Borders.get_Item(Excel.XlBordersIndex.xlInsideHorizontal).LineStyle = Excel.XlLineStyle.xlContinuous;
workSheet.get_Range("A1:L51").Borders.get_Item(Excel.XlBordersIndex.xlInsideVertical).LineStyle =
Excel.XlLineStyle.xlContinuous;
workSheet.get_Range("A1:L51").Borders.get_Item(Excel.XlBordersIndex.xlEdgeTop).LineStyle =
Excel.XlLineStyle.xlContinuous;
workSheet.get_Range("A1:L51").Borders.get_Item(Excel.XlBordersIndex.xlEdgeLeft).LineStyle =
Excel.XlLineStyle.xlContinuous;
workSheet.get_Range("A1:L51").Borders.get_Item(Excel.XlBordersIndex.xlEdgeRight).LineStyle =
Excel.XlLineStyle.xlContinuous;
workSheet.get_Range("A1:L51").Borders.get_Item(Excel.XlBordersIndex.xlEdgeBottom).LineStyle =
Excel.XlLineStyle.xlContinuous;
rng7 = workSheet.get_Range("A2:L51");
rng7.RowHeight = 25;
rng7.VerticalAlignment = 2;
//range3.BorderAround(Excel.XlLineStyle.xlContinuous, Excel.XlBorderWeight.xlMedium);
workSheet.PageSetup.Zoom = false;
workSheet.PageSetup.FitToPagesWide = 1;
workSheet.PageSetup.FitToPagesTall = 1;
workSheet.PageSetup.Orientation = Microsoft.Office.Interop.Excel.XlPageOrientation.xlPortrait;
workSheet.PageSetup.PaperSize = Microsoft.Office.Interop.Excel.XlPaperSize.xlPaperA4;
workSheet.SaveAs(FilePath);
excelApp.Quit();
lblMsg.Text = "Report Generated Successfully!!!";
}
File is being generated on server but can not be downloaded on client machine. please help me to solve it.
Reply
Answers (
1
)
Can any one help me??
How to create facebook menu?