To create an Excel spreadsheet with COM interop

I remember this time I was working on creating excel report for the attendance at this time in last year and it was most fun to create things I have worked on we can convert from the data-set to excel sheets to download in an easy asp.net web page it was tricky because we have to create an excel sheet in Util-Layer(where all our utility logic stays) and call save as from the front end
  1. using System;
    using System.Reflection; 
    using Microsoft.Office.Interop.Excel;
    
    public class CreateExcelWorksheet
    {
        Workbook void BuildExcelWorkbook()
        {
            Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
    
            if (xlApp == null)
            {
                Console.WriteLine("EXCEL could not be started. Check that your office installation and project references are correct.");
                return null;
            }
            xlApp.Visible = true;
    
            Workbook wb = xlApp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet);
            Worksheet ws = (Worksheet)wb.Worksheets[1];
    
            if (ws == null)
            {
                Console.WriteLine("Worksheet could not be created. Check that your office installation and project references are correct.");
            }
    
            // Select the Excel cells, in the range c1 to c7 in the worksheet.
            Range aRange = ws.get_Range("C1", "C7");
    
            if (aRange == null)
            {
                Console.WriteLine("Could not get a range. Check to be sure you have the correct versions of the office DLLs.");
            }
    
            // Fill the cells in the C1 to C7 range of the worksheet with the number 6.
            Object[] args = new Object[1];
            args[0] = 6;
            aRange.GetType().InvokeMember("Value", BindingFlags.SetProperty, null, aRange, args);
        
            // Change the cells in the C1 to C7 range of the worksheet to the number 8.
            aRange.Value2 = 8;
      return wb;
        }
    }
    
S

Comments

Popular posts from this blog

Traits Design - Inspirations and Design The Dead Universe

Introduction to DirectX and Creating the Main Game Loop using DirectX11

C++ and HTML as UI?