Convertir XLSX en HTML en C#

XlsxToHtmlConverter exporte une feuille d'un classeur sous forme de tableau HTML, prêt à insérer dans une page. Chaque cellule est échappée, donc une cellule contenant du balisage arrive sous forme de texte.

using DocToolkit;

byte[] xlsx = File.ReadAllBytes("input.xlsx");
string html = XlsxToHtmlConverter.Convert(xlsx, "Sheet1");
File.WriteAllText("output.html", html);

Ce qu'il faut

  • Aucun navigateur, headless ou non.
  • Aucune installation d'Office, et pas de LibreOffice.
  • Aucun fichier natif : uniquement du code managé.
  • Aucun réseau à l'exécution, sauf si vous le demandez.

Bon à savoir

  • Synchrone : Convert prend le classeur sous forme de byte[] et un nom de feuille, et renvoie une string.
  • Un simple fragment <table>, pas un document entier ; l'envelopper tient en une ligne.
  • La première ligne devient des cellules <th> dans un <thead>.
  • Le texte des cellules est indépendant de la culture, comme l'export CSV, donc les deux ne divergent jamais sur une cellule.

Installation

dotnet add package Ank.DocToolkit

NuGetDocumentationGitHub