Thursday, 12 March 2015

Export multiple DataSets to multiple Excel sheets dynamically formatted according to the record's data type

   public string DataSetsToExcel(List<DataSet> dataSets, string fileName)
    {
        Microsoft.Office.Interop.Excel.Application xlApp =
                  new Microsoft.Office.Interop.Excel.Application();
        Workbook xlWorkbook = xlApp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet);
        Sheets xlSheets = null;
        Worksheet xlWorksheet = null;

        foreach (DataSet dataSet in dataSets)
        {
            System.Data.DataTable dataTable = dataSet.Tables[0];
            int rowNo = dataTable.Rows.Count;
            int columnNo = dataTable.Columns.Count;
            int colIndex = 0;

            //Create Excel Sheets
            xlSheets = xlWorkbook.Sheets;
            xlWorksheet = (Worksheet)xlSheets.Add(xlSheets[1],
                           Type.Missing, Type.Missing, Type.Missing);
            xlWorksheet.Name = dataSet.DataSetName;

            //Generate Field Names
            foreach (DataColumn dataColumn in dataTable.Columns)
            {
                colIndex++;
                xlApp.Cells[1, colIndex] = dataColumn.ColumnName;

                xlWorksheet.Range[xlApp.Cells[1, colIndex],
           xlApp.Cells[1, colIndex]].Interior.Color = Microsoft.Office.Interop.Excel.XlRgbColor.rgbCornflowerBlue;
                xlWorksheet.Range[xlApp.Cells[1, colIndex],
      xlApp.Cells[1, colIndex]].Font.Bold = true;
                xlWorksheet.Range[xlApp.Cells[1, colIndex],
xlApp.Cells[1, colIndex]].Font.Color = Microsoft.Office.Interop.Excel.XlRgbColor.rgbAntiqueWhite;
            }

            object[,] objData = new object[rowNo, columnNo];

            //Convert DataSet to Cell Data
            for (int row = 0; row < rowNo; row++)
            {

                for (int col = 0; col < columnNo; col++)
                {
                    objData[row, col] = dataTable.Rows[row][col];
                }
            }

            //Add the Data
            Range range = xlWorksheet.Range[xlApp.Cells[2, 1], xlApp.Cells[rowNo + 1, columnNo]];
            range.Value2 = objData;

            //Format Data Type of Columns
            colIndex = 0;
            foreach (DataColumn dataColumn in dataTable.Columns)
            {
                colIndex++;
                string format = "@";
                switch (dataColumn.DataType.Name)
                {
                    case "Boolean":
                        break;
                    case "Byte":
                        break;
                    case "Char":
                        break;
                    case "DateTime":
                        format = "dd/mm/yyyy";
                        break;
                    case "Decimal":
                        format = "$* #,##0.00;[Red]-$* #,##0.00";
                        break;
                    case "Double":
                        break;
                    case "Int16":
                        format = "0";
                        break;
                    case "Int32":
                        format = "0";
                        break;
                    case "Int64":
                        format = "0";
                        break;
                    case "SByte":
                        break;
                    case "Single":
                        break;
                    case "TimeSpan":
                        break;
                    case "UInt16":
                        break;
                    case "UInt32":
                        break;
                    case "UInt64":
                        break;
                    default: //String
                        break;
                }
                //Format the Column accodring to Data Type
                xlWorksheet.Range[xlApp.Cells[2, colIndex],
                      xlApp.Cells[rowNo + 1, colIndex]].NumberFormat = format;

            }
        }

        //Remove the Default Worksheet
        ((Worksheet)xlApp.ActiveWorkbook.Sheets[xlApp.ActiveWorkbook.Sheets.Count]).Delete();

        /*
          foreach (Microsoft.Office.Interop.Excel.Range usedRange in xlWorksheet.Rows)
          {
           
                  usedRange.Cells.Interior.Color = Microsoft.Office.Interop.Excel.XlRgbColor.rgbCornflowerBlue;
                  break;
          }*/
        //Save
        if (File.Exists(HttpContext.Current.Server.MapPath("~/Excel/" + fileName + ".xls")))
            File.Delete(HttpContext.Current.Server.MapPath("~/Excel/" + fileName + ".xls"));
        xlWorkbook.SaveAs(HttpContext.Current.Server.MapPath("~/Excel/" + fileName + ".xls"),
            System.Reflection.Missing.Value,
            System.Reflection.Missing.Value,
            System.Reflection.Missing.Value,
            System.Reflection.Missing.Value,
            System.Reflection.Missing.Value,
            XlSaveAsAccessMode.xlNoChange,
            System.Reflection.Missing.Value,
            System.Reflection.Missing.Value,
            System.Reflection.Missing.Value,
            System.Reflection.Missing.Value,
            System.Reflection.Missing.Value);

        xlWorkbook.Close();
        xlApp.Quit();
        GC.Collect();
        return fileName;
    }

Thursday, 5 February 2015

Radgrid is not cancelling edit forms

rg.MasterTableView.ClearEditItems(); rg.MasterTableView.IsItemInserted = false;

Wednesday, 4 February 2015

Cannot get all rows from Rad Grid-View with DataPager

RadGrid1.AllowPagging = false;
RadGrid1.Rebind();

        foreach (GridDataItem item in RadGrid1.MasterTableView.Items)
        {

        }

RadGrid1.AllowPagging = true;
RadGrid1.Rebind();
(or)
RadGrid1.MasterTableView.AllowPagging = false;

        foreach (GridDataItem item in RadGrid1.MasterTableView.Items)
        {

        }

RadGrid1.MasterTableView.AllowPagging = true;

Tuesday, 6 January 2015

Add on drop event to a div javascript

You need to enable dropping on the target element. Add the ondragover attribute to your div like this:
<div id="bin" ondrop="drop(event)" ondragover="allowDrop(event)">
    <img src="icono.png" style="width:100px; margin-left:500px;display:inline;"/><p>
</div>
and an allowDrop function such as this:
function allowDrop(e) {
    e.preventDefault();
}
http://stackoverflow.com/questions/21999030/add-on-drop-event-to-a-div-no-jquery

Tuesday, 7 October 2014

How to extract pages from a PDF document using c# and itextsharp


private static void ExtractPages(string inputFile, string outputFile,
    int start, int end)
{
    // get input document
    PdfReader inputPdf = new PdfReader(inputFile);

    // retrieve the total number of pages
    int pageCount = inputPdf.NumberOfPages;

    if (end < start || end > pageCount)
    {
        end = pageCount;
    }

    // load the input document
    Document inputDoc =
        new Document(inputPdf.GetPageSizeWithRotation(1));

    // create the filestream
    using (FileStream fs = new FileStream(outputFile, FileMode.Create))
    {
        // create the output writer
        PdfWriter outputWriter = PdfWriter.GetInstance(inputDoc, fs);
        inputDoc.Open();
        PdfContentByte cb1 = outputWriter.DirectContent;

        // copy pages from input to output document
        for (int i = start; i <= end; i++)
        {
            inputDoc.SetPageSize(inputPdf.GetPageSizeWithRotation(i));
            inputDoc.NewPage();

            PdfImportedPage page =
                outputWriter.GetImportedPage(inputPdf, i);
            int rotation = inputPdf.GetPageRotation(i);

            if (rotation == 90 || rotation == 270)
            {
                cb1.AddTemplate(page, 0, -1f, 1f, 0, 0,
                    inputPdf.GetPageSizeWithRotation(i).Height);
            }
            else
            {
                cb1.AddTemplate(page, 1f, 0, 0, 1f, 0, 0);
            }
        }

        inputDoc.Close();
    }
}
 Ref:



Tuesday, 8 April 2014

An Error Occurred Setting Your User Cookie using Webclient

public class CookieAwareWebClient : WebClient     {         private CookieContainer m_container = new CookieContainer();         protected override WebRequest GetWebRequest(Uri address)         {             WebRequest request = base.GetWebRequest(address);             if (request is HttpWebRequest)             {                 (request as HttpWebRequest).CookieContainer = m_container;             }             return request;         }     }
CookieAwareWebClient client = new CookieAwareWebClient();
 string  page  =client.DownloadString(hdnSelectedLink.Value);