Monday, 28 August 2017 06:28

Add formula in Excel

using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace NPOI
{
    class Program
    {
        static void Main(string[] args)
        {
            //Create workbook
            IWorkbook workbook = new XSSFWorkbook();
            ISheet sheet = workbook.CreateSheet("MySheet");

            //Create cells
            IRow row = sheet.CreateRow(0);
            ICell cell1 = row.CreateCell(0);
            ICell cell2 = row.CreateCell(1);
            ICell cell3 = row.CreateCell(2);
            ICell sumCell = row.CreateCell(3);

            //Set the value of the cells
            cell1.SetCellValue(10);
            cell2.SetCellValue(15);
            cell3.SetCellValue(20);

            //Add formula
            sumCell.SetCellFormula("sum(A1:C1)");
            
            //Save the file
            FileStream file = File.Create("ExcelFormula.xlsx");
            workbook.Write(file);
            file.Close();

            //Launch the file
            System.Diagnostics.Process.Start("ExcelFormula.xlsx");
        }
    }
}

Monday, 28 August 2017 06:24

Add comment in Excel

using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace NPOI
{
    class Program
    {
        static void Main(string[] args)
        {
            //Create workbook
            IWorkbook workbook = new XSSFWorkbook();
            ISheet sheet = workbook.CreateSheet("MySheet");

            //Create the drawing patriarch
            IDrawing drawing = sheet.CreateDrawingPatriarch();

            //Create cell and set its value
            ICell cell = sheet.CreateRow(2).CreateCell(2);
            cell.SetCellValue("Comment");

            //Create comment
            IClientAnchor anchor = workbook.GetCreationHelper().CreateClientAnchor();
            IComment comment = drawing.CreateCellComment(anchor);
            comment.String = new XSSFRichTextString("Spire.XLS");
            comment.Author = ("E-iceblue");
            cell.CellComment = (comment);

            //Save the file
            FileStream file = File.Create("ExcelComment.xlsx");
            workbook.Write(file);
            file.Close();

            //Launch the file
            System.Diagnostics.Process.Start("ExcelComment.xlsx");
           
        }
    }
}


Thursday, 24 August 2017 01:51

Sort excel data

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Linq;
using Excel = Microsoft.Office.Interop.Excel;
using Office = Microsoft.Office.Core;
using Microsoft.Office.Tools.Excel;

namespace VSTO
{
    public partial class ThisAddIn
    {
        private void ThisAddIn_Startup(object sender, System.EventArgs e)
        {
            //Open the workbook file
            Excel.Application ExcelApp = Application;
            Excel.Workbook workbook = ExcelApp.Application.Workbooks.Open("C:\\Sample.xlsx");

            //Get the first sheet
            Excel.Worksheet sheet = (Excel.Worksheet)workbook.Sheets["Sheet1"];

            //Sort the specified range
            Excel.Range range = sheet.get_Range("A1:A7");
            range.Sort(range.Columns[1], Excel.XlSortOrder.xlAscending,
                       missing, missing, Excel.XlSortOrder.xlAscending,
                       missing, Excel.XlSortOrder.xlAscending,
                       Excel.XlYesNoGuess.xlNo, missing, missing,
                       Excel.XlSortOrientation.xlSortColumns,
                       Excel.XlSortMethod.xlPinYin,
                       Excel.XlSortDataOption.xlSortNormal,
                       Excel.XlSortDataOption.xlSortNormal,
                       Excel.XlSortDataOption.xlSortNormal);

            //Save
            workbook.SaveAs("SortedExcel.xlsx");
        }

        private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
        {
        }

        #region VSTO generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InternalStartup()
        {
            this.Startup += new System.EventHandler(ThisAddIn_Startup);
            this.Shutdown += new System.EventHandler(ThisAddIn_Shutdown);
        }
        
        #endregion
    }
}

Thursday, 24 August 2017 01:49

Set page break in Excel

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Linq;
using Excel = Microsoft.Office.Interop.Excel;
using Office = Microsoft.Office.Core;
using Microsoft.Office.Tools.Excel;

namespace VSTO
{
    public partial class ThisAddIn
    {
        private void ThisAddIn_Startup(object sender, System.EventArgs e)
        {
            //Open the workbook file
            Excel.Application excelApp = Application;
            Excel.Workbook workbook = excelApp.Application.Workbooks.Open("C:\\Sample.xlsx");           

            //Get the active worksheet
            Excel.Worksheet sheet = workbook.ActiveSheet;

            //Set page break horizontally
            Excel.Range range1 = sheet.get_Range("A7");
            sheet.HPageBreaks.Add(range1);

            //Set page break vertically
            Excel.Range range2 = sheet.get_Range("B7");           
            sheet.VPageBreaks.Add(range2);

            //Save the file
            workbook.SaveAs("PageBreakExcel.xlsx");       
        }

        private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
        {
        }

        #region VSTO generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InternalStartup()
        {
            this.Startup += new System.EventHandler(ThisAddIn_Startup);
            this.Shutdown += new System.EventHandler(ThisAddIn_Shutdown);
        }
        
        #endregion
    }
}

Thursday, 24 August 2017 01:46

Set cell style in Excel

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Linq;
using Excel = Microsoft.Office.Interop.Excel;
using Office = Microsoft.Office.Core;
using Microsoft.Office.Tools.Excel;
using System.Drawing;
using System.Reflection;

namespace VSTO
{
    public partial class ThisAddIn
    {
        private void ThisAddIn_Startup(object sender, System.EventArgs e)
        {
            //Open the workbook file
            Excel.Workbook workbook = this.Application.Workbooks.Add();

            //Get the active sheet
            Excel.Worksheet sheet = workbook.ActiveSheet;

            //Add style of specified range           
            Excel.Style style = workbook.Styles.Add("Style");
            style.Font.Size = 16;
            style.Font.Color = Color.Red;
            style.Interior.Color = Color.Black;
            style.Interior.Pattern = Excel.XlPattern.xlPatternSolid;
            Excel.Range range = sheet.get_Range("A1","A7");
            range.Value = "Spire";
            range.Style = "Style";

            //Save the file
            workbook.SaveAs("StyleExcel.xlsx");
        }

        private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
        {
        }

        #region VSTO generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InternalStartup()
        {
            this.Startup += new System.EventHandler(ThisAddIn_Startup);
            this.Shutdown += new System.EventHandler(ThisAddIn_Shutdown);
        }
        
        #endregion
    }
}

Thursday, 24 August 2017 01:40

Protect and Unprotect worksheets

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Linq;
using Excel = Microsoft.Office.Interop.Excel;
using Office = Microsoft.Office.Core;
using Microsoft.Office.Tools.Excel;
using System.Reflection;

namespace VSTO
{
    public partial class ThisAddIn
    {
        private void ThisAddIn_Startup(object sender, System.EventArgs e)
        {
            //Add a new workbook
            Excel.Workbook excelApp = this.Application.Workbooks.Add();

            //Protect the worksheet with password
            ((Excel.Worksheet)excelApp.ActiveSheet).Protect("Spire");  

            //Unprotect the worksheet specifying its password
            ((Excel.Worksheet)excelApp.ActiveSheet).Unprotect("Spire");   
        
            //Save the file
            excelApp.SaveAs("Result.xlsx");                       
          
        }

        private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
        {
        }

        #region VSTO generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InternalStartup()
        {
            this.Startup += new System.EventHandler(ThisAddIn_Startup);
            this.Shutdown += new System.EventHandler(ThisAddIn_Shutdown);
        }
        
        #endregion
    }
}

Thursday, 24 August 2017 01:39

Merge cells in Excel

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Linq;
using Excel = Microsoft.Office.Interop.Excel;
using Office = Microsoft.Office.Core;
using Microsoft.Office.Tools.Excel;

namespace VSTO
{
    public partial class ThisAddIn
    {
        private void ThisAddIn_Startup(object sender, System.EventArgs e)
        {
            //Instantiate the Application object
            Excel.Application ExcelApp = Application;

            //Add a Workbook
            Excel.Workbook workbook = ExcelApp.Workbooks.Add();

            //Get the First sheet
            Excel.Worksheet sheet = (Excel.Worksheet)workbook.Sheets["Sheet1"];

            //Merge A1-B5 to one cell
            sheet.get_Range("A1", "B5").Merge();

            //Save the file
            workbook.SaveAs("MergedCells.xlsx");
        }

        private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
        {
        }

        #region VSTO generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InternalStartup()
        {
            this.Startup += new System.EventHandler(ThisAddIn_Startup);
            this.Shutdown += new System.EventHandler(ThisAddIn_Shutdown);
        }
        
        #endregion
    }
}

Thursday, 24 August 2017 01:37

Insert hyperlink in Excel

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Linq;
using Excel = Microsoft.Office.Interop.Excel;
using Office = Microsoft.Office.Core;
using Microsoft.Office.Tools.Excel;

namespace VSTO
{
    public partial class ThisAddIn
    {
        private void ThisAddIn_Startup(object sender, System.EventArgs e)
        {
            //Instantiate the Application object
            Excel.Application excelApp = Application;

            //Add a Workbook
            Excel.Workbook workbook = excelApp.Workbooks.Add();

            //Get the first sheet
            Excel.Worksheet sheet = (Excel.Worksheet)workbook.Sheets["Sheet1"];

            //Define a range object(A1)
            Excel.Range range = sheet.get_Range("A1", "A1");

            //Add a hyperlink
            sheet.Hyperlinks.Add(range, "https://www.e-iceblue.com/", Type.Missing, "Click to E-iceblue website", "E-iceblue site");
            
            //Save the file
            workbook.SaveAs("ExcelHyperlink.xlsx");
        }

        private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
        {
        }

        #region VSTO generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InternalStartup()
        {
            this.Startup += new System.EventHandler(ThisAddIn_Startup);
            this.Shutdown += new System.EventHandler(ThisAddIn_Shutdown);
        }
        
        #endregion
    }
}

Thursday, 24 August 2017 01:35

Insert background image in Excel

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Linq;
using Excel = Microsoft.Office.Interop.Excel;
using Office = Microsoft.Office.Core;
using Microsoft.Office.Tools.Excel;

namespace VSTO
{
    public partial class ThisAddIn
    {
        private void ThisAddIn_Startup(object sender, System.EventArgs e)
        {
            //Instantiate the Application object
            Excel.Application ExcelApp = Application;

            //Add a workbook
            Excel.Workbook workbook = ExcelApp.Workbooks.Add();

            //Get the first sheet
            Excel.Worksheet sheet = (Excel.Worksheet)workbook.Sheets["Sheet1"];

            //Set a background image
            sheet.SetBackgroundPicture(@"C:\Users\Administrator\Desktop\image.jpg");

            //Save the file
            workbook.SaveAs("BackgroundImage.xlsx");
        }

        private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
        {
        }

        #region VSTO generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InternalStartup()
        {
            this.Startup += new System.EventHandler(ThisAddIn_Startup);
            this.Shutdown += new System.EventHandler(ThisAddIn_Shutdown);
        }
        
        #endregion
    }
}

Thursday, 24 August 2017 01:33

Create excel chart

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Linq;
using Excel = Microsoft.Office.Interop.Excel;
using Office = Microsoft.Office.Core;
using Microsoft.Office.Tools.Excel;

namespace VSTO
{
    public partial class ThisAddIn
    {
        private void ThisAddIn_Startup(object sender, System.EventArgs e)
        {
            //Instantiate the Application object.
            Excel.Application ExcelApp = Application;

            //Add a Workbook.
            Excel.Workbook objBook = ExcelApp.Workbooks.Add();

            //Get the active Worksheet
            Microsoft.Office.Interop.Excel.Worksheet nativeWorksheet = Globals.ThisAddIn.Application.ActiveWorkbook.ActiveSheet;
            Microsoft.Office.Tools.Excel.Worksheet sheet = Globals.Factory.GetVstoObject(nativeWorksheet);
           
            //Add data for pie chart
            sheet.Cells[1, 1] = "Quarter";
            sheet.Cells[1, 2] = "Sales";
            sheet.Cells[2, 1] = "One";
            sheet.Cells[2, 2] = 4000;
            sheet.Cells[3, 1] = "Two";
            sheet.Cells[3, 2] = 6000;
            sheet.Cells[4, 1] = "Three";
            sheet.Cells[4, 2] = 10000;
            sheet.Cells[5, 1] = "Four";
            sheet.Cells[5, 2] = 13000;

            //Chart reference
            Microsoft.Office.Tools.Excel.Chart chart;

            //Add a Pie Chart  
            chart = sheet.Controls.AddChart(0, 100, 400, 200, "Sales by quarter");
            chart.ChartType = Microsoft.Office.Interop.Excel.XlChartType.xl3DPie;

            //Set chart title
            chart.HasTitle = true;
            chart.ChartTitle.Text = "Sales by quarter";

            //Set region of chart data
            Microsoft.Office.Interop.Excel.Range chartRange = sheet.get_Range("A2", "B5");
            chart.SetSourceData(chartRange);

            //Get the active workbook
            Microsoft.Office.Interop.Excel.Workbook workbook = sheet.Application.ActiveWorkbook;

            //Save the file
            workbook.SaveAs("3DPieChart.xlsx");
        }

        private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
        {
        }

        #region VSTO generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InternalStartup()
        {
            this.Startup += new System.EventHandler(ThisAddIn_Startup);
            this.Shutdown += new System.EventHandler(ThisAddIn_Shutdown);
        }
        
        #endregion
    }
}