{"slug": "word-excel-powerpoint-markdown-powerpoint-visio-onenote-email-as-c-mit", "title": "Word, Excel, PowerPoint, Markdown, PowerPoint, Visio, OneNote, Email as C#/MIT", "summary": "A new open-source project under the MIT license provides typed .NET packages for creating, reading, editing, and converting Word, Excel, PowerPoint, Visio, OneNote, email, PDF, Markdown, and other document formats without requiring Microsoft Office. The project includes PSWriteOffice for PowerShell automation and supports conversion between Office, PDF, HTML, Markdown, OpenDocument, RTF, and Google Workspace.", "body_md": "## Project Overview\n\n### Executive summary\n\nStructured document output with headings, paragraphs, tables, images, and metadata.\n\nUse typed .NET packages for the full DOC, XLS, XLSB, PPT, and modern Office surface. Use PSWriteOffice for its documented PowerShell authoring, inspection, and conversion workflows — all without Microsoft Office.\n\nStructured document output with headings, paragraphs, tables, images, and metadata.\n\nRepeatable presentations from application data.\n\n``` js\nusing var doc =\n    WordDocument.Load(\"legacy.doc\");\ndoc.Save(\"modern.docx\");\n```\n\nBuild Word, Excel, PowerPoint, PDF, Visio, Markdown, CSV, and other document formats from typed .NET APIs.\n\nMove content between Office, PDF, HTML, Markdown, OpenDocument, RTF, and Google Workspace with focused converter packages.\n\nNormalize text, tables, metadata, images, and chunks for search, review, ingestion, and AI-assisted workflows.\n\nUse PSWriteOffice for scheduled reports, administration scripts, build pipelines, and repeatable document jobs.\n\nProduct family\n\nInstall only the document engines, converters, readers, or automation surfaces your application needs.\n\nBuild the document your application needs with a native, typed model.\n\nCreate, read, edit, and convert DOC, DOCX, DOCM, and Word templates with explicit compatibility diagnostics.\n\nCreate, read, edit, and convert XLS, XLSX, XLSB, and macro-enabled workbooks without Excel.\n\nCreate, read, edit, and convert PPT, PPTX, PPS, and POT presentations with preservation-aware legacy handling.\n\nCreate, inspect, edit, merge, sign, validate, and render PDF files.\n\nWork with native OneNote sections, notebooks, tables of contents, and packages offline.\n\nMove structured content across document, web, and interchange formats with explicit diagnostics.\n\nRead and write email, Outlook items, mailbox stores, calendars, and contacts.\n\nCreate and edit ODT, ODS, and ODP without LibreOffice or Office.\n\nParse HTML and MHTML, apply resource policy, and render to document or image formats.\n\nRead, create, preserve, and convert RTF with bounded parsing and fidelity reports.\n\nExtract EPUB metadata, navigation, chapters, and bounded resources.\n\nBuild, parse, transform, and render Markdown with a typed AST.\n\nCreate VSDX diagrams with pages, shapes, connectors, and metadata.\n\nRead heterogeneous files, connect Google Workspace, or run the same capabilities from PowerShell.\n\nExtract normalized text, tables, metadata, assets, and chunks across document families.\n\nTranslate Office content to and from Docs, Sheets, and Slides with explicit fidelity decisions.\n\nCreate, convert, and inspect documents from PowerShell scripts and automation jobs.\n\nCall focused .NET packages from applications and services, or use PSWriteOffice for script-first document automation.\n\n``` js\nusing var doc = WordDocument.Create(\"report.docx\");\n\nvar paragraph = doc.AddParagraph(\"Quarterly Sales Report\");\nparagraph.Style = WordParagraphStyle.Heading1;\n\ndoc.AddParagraph(\"Generated automatically with OfficeIMO.Word.\");\n\nvar table = doc.AddTable(4, 3);\ntable.Rows[0].Cells[0].Paragraphs[0].Text = \"Region\";\ntable.Rows[0].Cells[1].Paragraphs[0].Text = \"Revenue\";\ntable.Rows[0].Cells[2].Paragraphs[0].Text = \"Growth\";\ntable.Rows[0].IsHeader = true;\n\ntable.Rows[1].Cells[0].Paragraphs[0].Text = \"North America\";\ntable.Rows[1].Cells[1].Paragraphs[0].Text = \"$1,250,000\";\ntable.Rows[1].Cells[2].Paragraphs[0].Text = \"+12%\";\n\ndoc.Save();\njs\nusing var doc = ExcelDocument.Load(\"sales-data.xlsx\");\nvar sheet = doc.WorkSheets[0];\n\n// Read typed data from rows\nvar rows = sheet.RowsAs(r => new SalesRecord {\n    Region = r.String(\"Region\"),\n    Revenue = r.Decimal(\"Revenue\"),\n    Growth = r.Double(\"Growth\")\n});\n\n// Add a summary chart\nvar chart = sheet.AddChart(ExcelChartType.ColumnClustered);\nchart.Title = \"Revenue by Region\";\nchart.AddSeries(\"Revenue\", rows.Select(r => r.Revenue));\n\ndoc.Save(\"sales-report.xlsx\");\nPowerPointDesignBrief brief = PowerPointDesignBrief\n    .FromBrand(\"#008C95\", \"client-demo\", \"technical rollout proposal\")\n    .WithIdentity(\"Client Theme\", footerLeft: \"CLIENT\", footerRight: \"Service deck\")\n    .WithVariety(PowerPointDesignVariety.Exploratory);\n\nvar plan = new PowerPointDeckPlan()\n    .AddSection(\"Service proposal\", \"Generated from a semantic plan.\")\n    .AddProcess(\"Implementation path\", \"The selected design handles layout.\", new[] {\n        new PowerPointProcessStep(\"Discover\", \"Collect constraints.\"),\n        new PowerPointProcessStep(\"Design\", \"Choose the target model.\"),\n        new PowerPointProcessStep(\"Roll out\", \"Deliver in waves.\")\n    });\n\nvar best = brief.DescribeDeckPlanAlternatives(plan, 3)\n    .OrderByDescending(alternative => alternative.ContentFitScore)\n    .First();\n\nusing var ppt = PowerPointPresentation.Create(\"proposal.pptx\");\nppt.SlideSize.SetPreset(PowerPointSlideSizePreset.Screen16x9);\nppt.UseDesigner(brief, best.Index).AddSlides(plan);\nppt.Save();\njs\nvar doc = MarkdownDoc.Create()\n    .H1(\"Release Notes\")\n    .P(\"Version 2.0 brings major improvements.\")\n    .H2(\"New Features\")\n    .BulletList(\n        \"Parallel Excel operations\",\n        \"PowerPoint chart support\",\n        \"AOT-ready CSV module\"\n    )\n    .H2(\"Performance\")\n    .Table(t => t.FromSequence(benchmarks,\n        (\"Scenario\", b => b.Name),\n        (\"Before\", b => b.Before),\n        (\"After\", b => b.After)\n    ));\n\nvar html = doc.ToHtmlFragment();\nFile.WriteAllText(\"release-notes.md\", doc.ToString());\nNew-OfficeWord -FilePath 'Report.docx' {\n    WordSection {\n        WordParagraph -Text 'Monthly Report' -Style Heading1\n        WordParagraph -Text 'Generated with PSWriteOffice'\n\n        WordTable -DataTable $SalesData -Style LightGrid\n    }\n}\n\nNew-OfficeExcel -FilePath 'Data.xlsx' {\n    ExcelSheet -Name 'Sales' {\n        ExcelTable -DataTable $Records -AutoFilter -AutoFit\n    }\n    ExcelSheet -Name 'Charts' {\n        ExcelChart -Type ColumnClustered -Title 'Revenue'\n    }\n}\n```\n\nRun the example, inspect the source, and download the real output. Each card states what the evidence proves and where fidelity is intentionally bounded.\n\nGenerate editable slides from a brand brief, rank deterministic design alternatives, and validate the resulting Open XML package.\n\nBuild a dependency-free PDF report with branded sections, summary metrics, tables, drawing primitives, and page-aware layout.\n\nParse a styled invoice once, apply an explicit resource and layout policy, and produce PDF, PNG, or SVG output through the shared renderer.\n\nCreate an editable delivery report with headings, lists, and operational tables, then convert the same Word model to a review-ready PDF.\n\nNo. OfficeIMO uses managed, first-party document engines and does not require Microsoft Office, COM automation, or Office interop assemblies at runtime. That includes supported Word 97–2003 DOC, Excel XLS/XLSB, PowerPoint PPT/POT/PPS, modern Office, PDF, OpenDocument, email, and publishing workflows. Optional desktop Office checks are validation oracles, not runtime dependencies.\n\nYes. OfficeIMO classifies and reads modern and legacy Word, Excel, and PowerPoint families, writes documented native subsets, and supports bidirectional conversions. Coverage is reported by operation and fidelity rather than by extension alone. Check the [compatibility dashboard](/compatibility/) for current formats, tracked behaviors, fallbacks, and deliberate blocks.\n\nOfficeIMO targets **.NET 8.0**, **.NET 10.0**, **.NET Standard 2.0**, and **.NET Framework 4.7.2**. This means it works with .NET Core, .NET 5+, and legacy .NET Framework projects.\n\nYes. The OfficeIMO packages themselves are published under the **MIT License**. However, some optional package families build on third-party dependencies with their own upstream terms, so commercial teams should also review our [Third-Party Dependencies](/third-party/) page during OSS approval.\n\nOfficeIMO is an MIT-licensed, source-available document platform for .NET and PowerShell with modern and legacy Office support, focused packages, explicit conversion-fidelity policies, and no runtime royalty. Commercial suites can provide broader portfolio coverage, more mature rendering for some workloads, formal support, and procurement SLAs. Compare the exact formats, operations, fidelity, deployment model, and support obligations your application needs on our [evaluation page](/comparison/).\n\nFree, open source, and MIT licensed. Install in seconds.\n\n`dotnet add package OfficeIMO.Word`\n\n`Install-Module PSWriteOffice`", "url": "https://wpnews.pro/news/word-excel-powerpoint-markdown-powerpoint-visio-onenote-email-as-c-mit", "canonical_source": "https://officeimo.com/", "published_at": "2026-07-27 06:50:03+00:00", "updated_at": "2026-07-27 07:22:56.402663+00:00", "lang": "en", "topics": ["developer-tools"], "entities": ["Microsoft Office", "PSWriteOffice", "Google Workspace", "OfficeIMO.Word", "Word", "Excel", "PowerPoint", "Visio"], "alternates": {"html": "https://wpnews.pro/news/word-excel-powerpoint-markdown-powerpoint-visio-onenote-email-as-c-mit", "markdown": "https://wpnews.pro/news/word-excel-powerpoint-markdown-powerpoint-visio-onenote-email-as-c-mit.md", "text": "https://wpnews.pro/news/word-excel-powerpoint-markdown-powerpoint-visio-onenote-email-as-c-mit.txt", "jsonld": "https://wpnews.pro/news/word-excel-powerpoint-markdown-powerpoint-visio-onenote-email-as-c-mit.jsonld"}}