Wednesday, October 27, 2010

Export to Excel

Hey flocks Just now I faced a problem in converting a grid view to Excel. Just now I came out with a solution
First step is add reference's with the excel by right click on the solution explorer and click on add reference also yo will find out .net, com tabs click on tab then scroll down for some distance yo vl find the microsoft Execel some thing jst select tat 
Just add a grid and input all the values as your wish the next thing you got to do is
hav a button belove the grid nd on button click even try following code seriously tis vl work out

protected void Button1_Click(object sender, EventArgs e)
    {
        Microsoft.Office.Interop.Excel._Application app = new Microsoft.Office.Interop.Excel.Application();


        // creating new WorkBook within Excel application
        Microsoft.Office.Interop.Excel._Workbook workbook = app.Workbooks.Add(Type.Missing);


        // creating new Excelsheet in workbook
        Microsoft.Office.Interop.Excel._Worksheet worksheet = null;
      
        // see the excel sheet behind the program
        app.Visible = true;

        // get the reference of first sheet. By default its name is Sheet1.
        // store its reference to worksheet
        worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Sheets["Sheet1"];
        worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.ActiveSheet;

        // changing the name of active sheet
        worksheet.Name = "Exported from gridview";


        // storing header part in Excel
        for (int i = 1; i < dataGridView1.Columns.Count + 1; i++)
        {
            worksheet.Cells[1, i] = dataGridView1.Columns[i - 1].HeaderText;
        }



        // storing Each row and column value to excel sheet
        for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
        {
            for (int j = 0; j < dataGridView1.Columns.Count; j++)
            {
                worksheet.Cells[i + 2, j + 1] = dataGridView1.Rows[i].Cells[j].Text.ToString();
            }
        }

        workbook.SaveAs(@"D:\aa.xsl", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
        // save the application
        //workbook.SaveAs("c:\\output.xls", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

        // Exit from the application
        app.Quit();
    }

Sunday, October 10, 2010

Inserting and Retrieving Image using LINQ to SQL from ASP.Net Application

Inserting and Retrieving Image using LINQ to SQL from ASP.Net Application

Objective
In this article, I am going to show you
1. How to insert an image from ASP.Net application to SQL Server using LINQ to SQL.
2. How to retrieve image from SQL Server data base using LINQ to SQL and display to an Image control.
Block Diagram of solution
clip_image002
Description of table
For my purpose, I have created a table called ImageTable.
clip_image003
1. Id is primary key.
2. Name column will contain name of the image file.
3. FileSource column will contain binary of image. Type of this column is image.
Create ASP.Net Web Application
Open visual studio and from File menu select New Project and then from Web tab select new web application. Give meaningful name to your web application.
Create DBML file using LINQ to SQL class.
For detail description on how to use LINQ to SQL class read HERE
1. Right click on the project and select add new item.
2. From DATA tab select LINQ to SQL Class.
3. On design surface select server explorer.
4. In server explorer and add new connection.
5. Give database server name and select database.
6. Dragged the table on the design surface.
Once all the steps done, you will have a dbml file created.
Design the page
1. I have dragged one FileUpload control and a button for upload purpose.
2. One text box. In this text box user will enter Id of the image to be fetched.
3. One button to fetch the image from database.
4. One Image control to display image from database.
Default.aspx
clip_image005
Saving image in table
On click event of Button 1 Image upload will be done.
clip_image007
In this code
1. First checking whether FileUplad control contains file or not.
2. Saving the file name in a string variable.
3. Reading file content in Byte array.
4. Then converting Byte array in Binary Object.
5. Creating instance of data context class.
6. Creating instance of ImageTable class using object initializer. Passing Id as hard coded value. Name as file name and FileSource as binary object.
Retrieving Image from table
On click event of button2 Image will be fetched of a particular Id. Image Id will be given by user in text box.
clip_image009
In above code, I am calling a generic HTTP handler. As query string value from textbox1 is appended to the URL of HTTP handler. To add HTTP handler, right click on project and add new item. Then select generic handler from web tab.
clip_image011
In above code,
1. Reading query string in a variable.
2. Calling a function returning ShowEmpImage returning Stream.
3. In ShowEmpImage , creating object DataContext class .
4. Using LINQ fetching a particular raw from table of a particular ID.
5. Converting image column in memory stream. In this case FileSource column is containing image.
6. Converting stream into byte array.
7. Reading byte array in series of integer.
8. Using Output stream writing the integer sequence.
Running application

output1Output2
 Output3
For your reference entire source code is given below ,
Default.aspx.cs
    1 using System;
    2 using System.Collections.Generic;
    3 using System.Linq;
    4 using System.Web;
    5 using System.Web.UI;
    6 using System.Web.UI.WebControls;
    7 using System.Data.Linq;
    8 using System.IO;
    9 
   10 namespace uploadingImageusingLInqtoSQl
   11 {
   12     public partial class _Default : System.Web.UI.Page
   13     {
   14         protected void Page_Load(object sender,EventArgs e)
   15         {
   16 
   17         }
   18 
   19         protected void Button1_Click(object sender,EventArgs e)
   20         {
   21             if (FileUpload1.HasFile && FileUpload1.PostedFile.ContentLength > 0)
   22             {
   23                 string fileName = FileUpload1.FileName;           
   24 
   25                 byte[] fileByte = FileUpload1.FileBytes;
   26                 Binary binaryObj = newBinary(fileByte);
   27                 DataClasses1DataContext context =new DataClasses1DataContext();
   28                 context.ImageTables.InsertOnSubmit(
   29                     new ImageTable { Id = “xyz”,
   30                         Name = fileName,
   31                         FileSource = binaryObj });
   32                 context.SubmitChanges();
   33 
   34 
   35             }
   36         }
   37 
   38         protected void Button2_Click(object sender,EventArgs e)
   39         {
   40 
   41 
   42             Image1.ImageUrl = “~/MyPhoto.ashx?Id=”+TextBox1.Text;
   43 
   44         }
   45 
   46 
   47     }
   48 }
   49 

MyPhoto.ashx.cs

    1 using System;
    2 using System.Collections.Generic;
    3 using System.Linq;
    4 using System.Web;
    5 using System.IO;
    6 using System.Web.UI;
    7 using System.Web.UI.WebControls;
    8 
    9 
   10 namespace uploadingImageusingLInqtoSQl
   11 {
   12     /// 
   13     /// Summary description for MyPhoto
   14     /// 
   15     public class MyPhoto : IHttpHandler
   16     {
   17 
   18         public void ProcessRequest(HttpContextcontext)
   19         {
   20 
   21             string id = context.Request.QueryString["Id"];
   22             context.Response.ContentType =“image/jpeg”;
   23             Stream strm = ShowEmpImage(id);
   24             byte[] buffer = new byte[4096];
   25             int byteSeq = strm.Read(buffer, 0, 4096);
   26             while (byteSeq > 0)
   27             {
   28                 context.Response.OutputStream.Write(buffer, 0, byteSeq);
   29                 byteSeq = strm.Read(buffer, 0, 4096);
   30             }  
   31         }
   32 
   33         public Stream ShowEmpImage(string id)
   34         {
   35             DataClasses1DataContext context1 = newDataClasses1DataContext();
   36             var r = (from a in context1.ImageTableswhere a.Id == id select a).First();
   37             return newMemoryStream(r.FileSource.ToArray());         
   38 
   39         }
   40         public bool IsReusable
   41         {
   42             get
   43             {
   44                 return false;
   45             }
   46         }
   47     }
   48 }

Thanks for reading. I hope this post is useful. Happy Coding.

Friday, October 8, 2010

Add User Login with in a min

Flocks 2day I tried to add membership login with ASP.Net can yo believe it reducing our work with in some mins.Here I vl go through How I did !
Here there are some 2 things one is for login and another is for new account creation. I am sure tat yo can go to administrator web site so that yo can make some edit in security like adding roles for each user and access privilages.
 Also to redirect from one page to another a set of code got to be followed
try 
                { 
                    if (Membership.ValidateUser(Login1.UserName,Login1.Password)) 
                   { 
                       //Authenticated successful, redirect to the page specified in web.config as DefaultPage 
                       Response.Redirect(@"~/Personal/Default.aspx");
                    } 
     
                    else 
                   { 
                       //Authenticated failed, redirect to LoginError.aspx 
                       Response.Redirect("~/Loginerror.aspx"); 
                    } 
               } 
    
               catch (Exception ex) 
               {
                   Console.WriteLine("invalid Login");
               }  

Hope for the happy coding for any elaboration work ping me. ;)

Sunday, October 3, 2010

What will be If computer throws error Like this

For few days I am working on some projects and going through some technology. I am not wonder I am getting so many errors while compiling or run-time because it usually happens but I wonder how it will be if the errors or so funny like vadivelu's dialog and How interesting it will be to work

May be : (if..else)  Thrisha illana Divya

(Memory exception) : Soppa over ra kanna Katuthe

(Same error reap ting ) : Nee yaaru kitta paysikittu irrukaynu theriyuma? Sekar ngara oru TERROR kitta


(compile Time error) :Huh.. yennaku body strong basement weeeku


(Successful Compilation or mild error) : Don't worry.. Be gaaapy


(If looking for some other resources): Helloo.. Prabha wine shop ownerungala? Kadaiya.. yeppo saar tharapeenga?


(Un-Rectify error) : romba nallavanu enna pathu sollitanmaaaaa...


I wish here by adding some of ma view your invitations are welcomed