Utskrift till excel från c#

Här följer en guide om hur man kan skapa Excelfiler från C#.

  • Koden är välkommenterad för att förklara vad som händer.
  • Datatypen ”var” fungerar som en datatyp som kan ha vilket värde som helst, lite som det var när vi körde Python.
    • Fördelen är att det är enkelt att koda.
    • Nackdelen är att applikationen är långsammare att köra och vi tappar viss säkerhet när vi inte vet vilken datatyp ett värde har. Vi har också dålig hjälp för att tex avrunda eller formatera en viss varibel.
  • När excelfilen är skapad så väljer du att öppna ett nytt Google Sheet i webbläsaren och drar in filen till fliken ”Ladda upp”.

Tillägget heter EPPlus och jag har använt version 5.0.4. Denna installeras via ”Tools -> NuGet Package Manager -> Manage NuGet Packages for Solution…”

Info om tillägget och hjälp vid utveckling hittar du här; https://epplussoftware.com/developers/

using System;
using OfficeOpenXml;            // Lägger till för att hämta klasser från EPPlus
using System.IO;                // Lägger till för att komma åt klassen FileInfo

namespace Excel_EPPlus
{
    class Program
    {
        static void Main(string[] args)
        {
            // Används för att slumpa värden
            Random rnd = new Random();
            
            // Används för att kunna köra EPP i IckeCommersiell applikation
            ExcelPackage.LicenseContext = LicenseContext.NonCommercial;

            // Ett slumpat filnamn. Om inget mappnamn anges så hamnar filen i 
            // ProjektMappen/bin/Debug/filnamn

            var file = new FileInfo($"testfil{rnd.Next(1000,9999)}.xlsx");
            // Alternativet är att ge hela sökvägen 
            //var file = new FileInfo(@"C:\Users\**användarnamn**\Desktop\filnamn.xlsx");
           
            // Skapar ett ExcelPackageObjekt för att hjälpa oss bygga Excelfilen
            var package = new ExcelPackage(file);

            // sheet är det arbetsbladet som vi måste skapa i vår tomma excelfil
            var sheet = package.Workbook.Worksheets.Add("Blad1");
            
            // Lägger till två rubrikrader i bladet i cellerna A1 och A2
            sheet.Cells["A1"].Value = "Körning";
            sheet.Cells["B1"].Value = "Data";

            // Loop för att mata in data på olika rader
            for(int i = 2; i < 50; i++)
            {
                // Med en variabel kan vi välja att räkna upp rad för rad och lägga in data. 
                // Här läggs en räknare och ett slumpat värde.
                sheet.Cells[$"A{i}"].Value = i-1;
                sheet.Cells[$"B{i}"].Value = rnd.Next(1, 1000);
            }

            // Sparar Excelfilen
            package.Save();

            // Skriver ut filens namn och väntar på användarens inmatning. 
            Console.WriteLine("");
            Console.ReadLine();
        }
    }
}

Lämna ett svar

Din e-postadress kommer inte att publiceras.

Denna webbplats använder Akismet för att minska skräppost. Lär dig hur din kommentardata bearbetas.