![](/img/trans.png)
[英]C# How do I append a Cell to every Row in a Excel Sheet using OpenXmlWriter (OpenXML SDK 2.5)
[英]C# - Export excel sheet to image using OpenXml SDK
我想用 DocumentFormat.OpenXml 將我的 excel 表轉換為圖像
我的代碼是:
class Program
{
static void Main()
{
String fileName = @"/Users/user/Downloads/Test.xlsx";
String path = @"/Users/user/Downloads/Test.png";
// Open the document for editing.
using (SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.Open(fileName, false))
{
WorkbookPart workbookPart = spreadsheetDocument.WorkbookPart;
WorksheetPart worksheetPart = workbookPart.WorksheetParts.First();
OpenXmlReader reader = OpenXmlReader.Create(worksheetPart);
string text;
while (reader.Read())
{
if (reader.ElementType == typeof(CellValue))
{
text = reader.GetText();
Console.Write(text + " ");
}
}
Console.WriteLine();
//Console.ReadKey();
worksheetPart.Worksheet.Save();
workbookPart.Workbook.Save();
spreadsheetDocument.SaveAs(path);
}
}
}
它給出了一個錯誤
Unhandled exception. System.IO.IOException: Cannot get stream with FileMode.Create, FileMode.CreateNew, FileMode.Truncate, FileMode.Append when access is FileAccess.Read.
at System.IO.Packaging.PackagePart.ThrowIfOpenAccessModesAreIncompatible(FileMode mode, FileAccess access)
at System.IO.Packaging.PackagePart.GetStream(FileMode mode, FileAccess access)
at System.IO.Packaging.PackagePart.GetStream(FileMode mode)
at DocumentFormat.OpenXml.Packaging.OpenXmlPart.GetStream(FileMode mode)
at DocumentFormat.OpenXml.OpenXmlPartRootElement.SaveToPart(OpenXmlPart openXmlPart)
at DocumentFormat.OpenXml.OpenXmlPartRootElement.Save()
at Program.Main() in /Users/user/C#/Program.cs:line 36
如何將讀取文件轉換為圖像順便說一句我無法使用任何其他模塊
您要從單元格或整個工作表中導出圖像嗎? 因為在您的代碼中您試圖將文本導出到圖像。在這種情況下,您需要在圖片框中創建圖像並保存它。 您不能將字符串等文本保存到圖像。 這是不同的格式。
取而代之的是,您可以嘗試通過 OpenXML 從 excel 中收集數據並將其繪制在圖片框上:
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
using (Font myFont = new Font("Arial", 14))
{
e.Graphics.DrawString("Hello .NET Guide!", myFont, Brushes.Green, new Point(2, 2));
}
}
之后,您可以從這個圖片框將圖像保存到.png。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.