Wednesday, June 22, 2016

How to Export DataTable Data to Excel Report in MVC 4/5

Tags: How to Export Data into excel file in MVC 4/5, Generate Excel Report in MVC 4/5, Generate SpreadSheet Report in MVC 4/5.


Dear Readers, I going to explain export data of DataTable records into Excel file in MVC application. I am using SQL Server for database and Visual Studio 2015 IDE.

This blog is especially for those programmers who have not used Entity Framework till now and are into the habit of using old ADO.NET framework for database coding.

Note: Here I am considering that you are aware of basics of MVC application creation such as View, Model and Controller. If not, please get some basics of MVC First Application.

So, let’s start with an example.

You have to get the data in DataTable object according to your condition. Then export the data into excel file. See the sample code:

Extra Namespaces:
using System.Data;
using System.Web.UI.WebControls;
using System.IO;
using System.Web.UI;
using System.Text;

Function to Export data
public void DownLoadReportInExcel()
        {
            SqlConnection con = new SqlConnection("Data Source=serverName;Initial Catalog=DBName;Integrated Security=True");
            SqlDataAdapter da = new SqlDataAdapter("select * from OrderData", con);
            DataTable dt = new DataTable();
            da.Fill(dt); //Filling DataTable Object
     GridView GridView1 = new GridView(); //Creating GridView Instance
            GridView1.AllowPaging = false;
            GridView1.DataSource = dt;
            GridView1.DataBind();

            Response.Clear();
            Response.Buffer = true;
            Response.AddHeader("content-disposition",
             "attachment;filename=MyOrderReport.xls");
            Response.Charset = "";
            Response.ContentType = "application/vnd.ms-excel";
            StringWriter sw = new StringWriter();
            HtmlTextWriter hw = new HtmlTextWriter(sw);

            for (int i = 0; i < GridView1.Rows.Count; i++)
            {
                //Apply text style to each Row
                GridView1.Rows[i].Attributes.Add("class", "textmode");
            }
            GridView1.RenderControl(hw);

            //Code, if Add image in the report. Supposing that image is inside folder- ‘images’
     // You can omit this code if no need of image
            string path = HttpContext.Server.MapPath("/images/red.png");
            string headerTable = @"<Table><tr><td><img src='" + path + "' /></td></tr></Table>";
//Adding Style
            string style = @"<style> .textmode { mso-number-format:\@; } </style>";
            Response.Write(style);
            Response.Write(headerTable);
            Response.Output.Write(sw.ToString());
            Response.Flush();
            Response.End();
}

You have to call this function from Action method of controller. You can also pass arguments in the function to implement the logic as per your requirements.

For Example:

public ActionResult ActionMethodName()
 {
DownLoadReportInExcel();
return View();
}


Build and Run the project.
I hope it will be helpful for you.

Happy Coding.

Find my youtube channel from HERE.

Rudra Pratap Singh
Software Engineer

singhrudrapratap29[at]gmail[dot]com

Tuesday, June 7, 2016

SQL Learning in Hindi Class -3 (SQL हिंदी में सीखें)

Tags: How to Learn SQL SERVER in Hindi Language, What is SQL in simple Hindi Language, SQL for beginner in simple Hindi language, Database programming in Hindi language, How to Run Queries in SQL Server, How to run Update and Delete Query in SQL Server.

For SQL SERVER class 2 please see the blog from here

Last Blog में अपने सीखा किस तरह INSERT INTO QUERY run करते हैं |

आज हम सीखेंगे किस तरह Update and Delete Query run करवाते हैं |

सबसे पहले हम ये जानेंगे की UPDATE Query कब प्रयोग करते हैं ?

आवश्यकता : UPDATE Query का प्रयोग तब किया जाता है जब हमें पहले से Save  हुए Records में  कोई चेंज करना हो |

अब हम ये जानेंगे की DELETE Query कब प्रयोग करते हैं ?

आवश्यकता : DELETE Query का प्रयोग तब किया जाता है जब हमें पहले से Save  हुए Records में  कोई Record delete करना हो |

UPDATE Query  का नियम:

UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=some_value;

WHERE एक Clause होता है जिसके द्वारा Condition Apply की जाती है |

ध्यान दें :
यदि WHERE Clause नहीं लगाया गया तो सभी Records में एक ही Data Update हो जायेगा |


अब SQL SERVER Management Studio पर इसको run करवा के देखते हैं

Table का नाम s_data है (कृपया Class 2 Blog  देखें)

Table का पुराना डेटा

UPDATE Query :


Run करवाने के बाद


अब Records इस प्रकार होंगे


Note : यदि WHERE CLAUSE का प्रयोग किया जाता तो father कॉलम  में सभी Records 'Hokings' हो जाते

इसी प्रकार हम DELETE Query का प्रयोग कर सकते हैं |

Syntax of DELETE Query :

DELETE FROM table_name
WHERE some_column=some_value;

ध्यान दें :
यदि WHERE Clause नहीं लगाया गया तो सभी Records Delete हो जायेंगे |

अब SQL SERVER Management Studio पर इसको run करवा के देखते हैं

Table का पुराना डेटा


DELETE Query –


Run करवाने के बाद

अब Records इस प्रकार होंगे



Note : यदि WHERE CLAUSE का प्रयोग किया जाता तो father कॉलम  में सभी Records Delete हो जाते |

Happy Coding.

Rudra Pratap Singh
Software Engineer

मुझे मेल करें या कमेंट लिखें
singhrudrapratap29[at]gmail[dot]com

SQL Learning in Hindi Class -2 (SQL हिंदी में सीखें)


Tags: How to Learn SQL SERVER in Hindi Language, What is SQL in simple Hindi Language, SQL for beginner in simple Hindi language, Database programming in Hindi language.

SQL SERVER class 1 के लिए please see the video from here

आज हम सीखेंगे किस तरह SQL में Query run करवाते हैं |

तो पहले ये जानते हैं की Query होती क्या है ?

Query Definition

       Query वह Basic Statement होता है जिसके द्वारा किसी Data Base Server में किसी प्रकार का कोई Operation किया जाता है |
       जैसे किसी data को Insert करना, Delete करना, Update करना या किसी data को Database से निकलना  और इसी प्रकार के और कई Operations करना |

नीचे दिए हुए Figure के अनुसार, Database और Table create करिये 

यदि Database और Table create करना नहीं आता है तो मेरा  Youtube Hindi SQL tutorial देखिये



अब हम इस Table में Data को Insert करेंगे

Step (1) : Click on 'New Query' Option in SQL Server Management Studio

Step (2) : New Screen खुल कर आएगी | उस पर Type करिये

USE DBFirst;

इस Query Statement को Select करके Execute Buttonपर click करिये (or press F5 key from keyboard)



USE DBFirst; Query Statement के द्वारा अपने उस Database को Select किया जिस Database की Tables पर Operations करने हैं  |

अब Data को insert करने के लिए, हमें Insert Into Query चलानी होगी |

नियम(Syntax):

INSERT INTO table_name
VALUES (value1,value2,value3,...);

या

INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);

उदाहरण (Example):

Insert Into s_data values(1,'Robert','Stephen'); या

Insert Into s_data(ID,sname,father) values(1,'Robert','Stephen');

इस Query को लिखिए और Select करके Execute कराइए |

Query के सफलता पूर्वक Execute होने के बाद निम्न Message आता है





Query Description(विवरण):

s_data  -  Table Name

ID, sname, father  - Column Names of Table

1,'Robert','Stephen‘  -   Values जिनको  Store करवाना है

Note : String/Text Values के लिए single Quote ' ' का प्रयोग किया जाता है | Number as it is लिखे जाते हैं |

अब Table का Data चेक करिये --

Steps To check :
Right click on Table name --> 'Select Top 1000 Rows' option Click.

या आप QUERY चला सकते हैं:-  Select * from s_data;




Happy Coding.

Rudra Pratap Singh
Software Engineer

मुझे मेल करें या कमेंट लिखें
singhrudrapratap29[at]gmail[dot]com

How to Get Organic Views on Your Channel/Content

 Hi Friends, This post will be very short and specific in the information.  If you are a content creator and want some help in getting organ...