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

namespace NPOI
{
    class Program
    {
        static void Main(string[] args)
        {
            //Load document
            XWPFDocument doc = new XWPFDocument(new FileStream("../../../Data/Sample.doc", FileMode.Open));

            //Save the file
            using (FileStream sw = File.Create("ConvertedFile.docx"))
            {
                doc.Write(sw);
            }
        }
    }
}


Tuesday, 29 August 2017 06:41

Add header and footer in word document

using NPOI.OpenXmlFormats.Wordprocessing;
using NPOI.XWPF.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 document
            XWPFDocument doc = new XWPFDocument();
            XWPFParagraph para=doc.CreateParagraph();
            XWPFRun run = para.CreateRun();
            run.SetText("Spire.Doc for .NET");

            doc.Document.body.sectPr = new CT_SectPr();
            CT_SectPr secPr = doc.Document.body.sectPr;

            //Create header and set its text
            CT_Hdr header = new CT_Hdr();
            header.AddNewP().AddNewR().AddNewT().Value = "This is Header";

            //Create footer and set its text
            CT_Ftr footer = new CT_Ftr();
            footer.AddNewP().AddNewR().AddNewT().Value = "This is Footer";

            //Create the relation of header
            XWPFRelation relation1 = XWPFRelation.HEADER;
            XWPFHeader myHeader = (XWPFHeader)doc.CreateRelationship(relation1, XWPFFactory.GetInstance(), doc.HeaderList.Count + 1);

            //Create the relation of footer
            XWPFRelation relation2 = XWPFRelation.FOOTER;
            XWPFFooter myFooter = (XWPFFooter)doc.CreateRelationship(relation2, XWPFFactory.GetInstance(), doc.FooterList.Count + 1);

            //Set the header
            myHeader.SetHeaderFooter(header);
            CT_HdrFtrRef myHeaderRef = secPr.AddNewHeaderReference();
            myHeaderRef.type = ST_HdrFtr.@default;
            myHeaderRef.id = myHeader.GetPackageRelationship().Id;

            //Set the footer
            myFooter.SetHeaderFooter(footer);
            CT_HdrFtrRef myFooterRef = secPr.AddNewFooterReference();
            myFooterRef.type = ST_HdrFtr.@default;
            myFooterRef.id = myFooter.GetPackageRelationship().Id;

            //Save the file
            using (FileStream stream = File.Create("HeaderAndFooter.docx"))
            {
                doc.Write(stream);
            }

            //Launch
            System.Diagnostics.Process.Start("HeaderAndFooter.docx");
        }
    }
}


Monday, 28 August 2017 07:01

Set cell style in Excel

using NPOI.HSSF.Util;
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 cell and set its value
            ICell cell = sheet.CreateRow(1).CreateCell(3);
            cell.SetCellValue("Spire");

            //Create style
            ICellStyle style = workbook.CreateCellStyle();

            //Set border style 
            style.BorderBottom = BorderStyle.Double;
            style.BottomBorderColor = HSSFColor.Yellow.Index;

            //Set font style
            IFont font = workbook.CreateFont();
            font.Color = HSSFColor.Red.Index;
            font.FontName = "Arial";
            font.FontHeight = 13;
            font.IsItalic = true;
            style.SetFont(font);

            //Set background color
            style.FillBackgroundColor = IndexedColors.Black.Index;
            style.FillPattern = FillPattern.SolidForeground;

            //Apply the style
            cell.CellStyle = style;

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

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


Monday, 28 August 2017 06:59

Protect excel worksheet

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();

            //Create a new sheet
            ISheet sheet = workbook.CreateSheet("newSheet");

            //Protect the sheet
            sheet.ProtectSheet("test");          

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

            //Launch
            System.Diagnostics.Process.Start("Protected.xlsx");
        }
    }
}

Monday, 28 August 2017 06:56

Merge cells in Excel

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

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

            //Set the value of the cell
            sheet.CreateRow(0).CreateCell(0).SetCellValue("Spire.XLS");

            //Merge the cell
            CellRangeAddress region = new CellRangeAddress(0, 5, 0, 5);
            sheet.AddMergedRegion(region);

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

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


Monday, 28 August 2017 06:45

Insert image 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)
        {
            //Load workbook
            IWorkbook workbook = new XSSFWorkbook(new FileStream("../../../Data/Sample.xlsx", FileMode.Open));

            //Get the first sheet
            ISheet sheet = workbook.GetSheetAt(0);

            //Add picture data to the workbook
            byte[] bytes = File.ReadAllBytes("../../../Data/image.jpg");
            workbook.AddPicture(bytes, PictureType.JPEG);

            //Add a picture shape and set its position
            IDrawing drawing = sheet.CreateDrawingPatriarch();
            IClientAnchor anchor = workbook.GetCreationHelper().CreateClientAnchor();
            anchor.Dx1 = 0;
            anchor.Dy1 = 0;
            anchor.Col1 = 9;
            anchor.Row1 = 10;
            IPicture picture = drawing.CreatePicture(anchor, 0);

            //Automatically adjust the image size
            picture.Resize();

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

            //Launch
            System.Diagnostics.Process.Start("ExcelImage.xlsx");
        }
    }
}

Monday, 28 August 2017 06:41

Insert hyperlink in Excel

using NPOI.HSSF.Util;
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)
        {
            //Load workbook
            IWorkbook workbook = new XSSFWorkbook(new FileStream("../../../Data/Sample.xlsx", FileMode.Open));

            //Get the first sheet
            ISheet sheet = workbook.GetSheetAt(0);

            //Set the style of the cell
            ICellStyle style = workbook.CreateCellStyle();
            IFont font = workbook.CreateFont();
            font.Underline = FontUnderlineType.Single;
            font.Color = HSSFColor.Red.Index;
            font.FontHeight = 15;
            style.SetFont(font);

            //Add an URL link
            ICell cell = sheet.CreateRow(1).CreateCell(1);
            cell.SetCellValue("Url link");
            XSSFHyperlink UrlLink = new XSSFHyperlink(HyperlinkType.Url)
            {
                Address = "https://www.e-iceblue.com/"
            };
            cell.Hyperlink = (UrlLink);
            cell.CellStyle = (style);

            //Add an e-mail link
            cell = sheet.CreateRow(3).CreateCell(1);
            cell.SetCellValue("Email link");
            XSSFHyperlink MailLink = new XSSFHyperlink(HyperlinkType.Email)
            {
                Address = "mailto:support@e-iceblue.com"
            };
            cell.Hyperlink = (MailLink);
            cell.CellStyle = (style);

            //Add an external file link
            cell = sheet.CreateRow(5).CreateCell(1);
            cell.SetCellValue("External file link");
            XSSFHyperlink FileLink = new XSSFHyperlink(HyperlinkType.File)
            {
                Address = "ExternalFile.xlsx"
            };
            cell.Hyperlink = (FileLink);
            cell.CellStyle = (style);

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

            //Launch
            System.Diagnostics.Process.Start("ExcelHyperlink.xlsx");
        }
    }
}

Monday, 28 August 2017 06:37

Create dropdown list in Excel

using NPOI.SS.UserModel;
using NPOI.SS.Util;
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();
            XSSFSheet sheet = (XSSFSheet)workbook.CreateSheet("sheet");

            //Create dropdown list
            IDataValidationHelper validationHelper = new XSSFDataValidationHelper(sheet);
            CellRangeAddressList addressList = new CellRangeAddressList(0, 0, 0, 0);
            IDataValidationConstraint constraint = validationHelper.CreateExplicitListConstraint(new String[] { "One", "Two", "Three", "Four" });
            IDataValidation dataValidation = validationHelper.CreateValidation(constraint, addressList);
            dataValidation.SuppressDropDownArrow = true;
            sheet.AddValidationData(dataValidation);

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

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


Monday, 28 August 2017 06:33

Copy worksheet 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)
        {
            //Load workbook
            IWorkbook workbook = new XSSFWorkbook(new FileStream("../../../Data/Sample.xlsx", FileMode.Open));

            //Get the first worksheet
            ISheet sheet = workbook.GetSheetAt(0);

            //Copy to a new sheet
            sheet.CopySheet("copied sheet", true);

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

            //Launch
            System.Diagnostics.Process.Start("Copied.xlsx");
        }
    }
}


Monday, 28 August 2017 06:30

Add header and footer 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)
        {
            //Load workbook
            IWorkbook workbook = new XSSFWorkbook(new FileStream("../../../Data/Sample.xlsx", FileMode.Open));

            //Get the first worksheet
            ISheet sheet = workbook.GetSheetAt(0);

            //Set header
            IHeader header = sheet.Header;
            header.Right = "Header";

            //Set footer
            IFooter footer = sheet.Footer;
            footer.Center = "Footer";
           
            //Save the file
            FileStream file = File.Create("HeaderFooter.xlsx");
            workbook.Write(file);
            file.Close();

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