我正在使用Visual Studio 2008,我需要DataTable使用Open XML SDK 2.0从Excel工作表创建一个.我需要使用带有工作表第一行的DataTable列创建它,并使用其余值完成它.
有没有人有一个示例代码或链接可以帮助我这样做?
如何在OpenXml中设置一行(或整行)中几个单元格的背景?
阅读了几篇文章:
我仍然无法使它工作.
我的任务实际上乍一看似乎有点容易,与这些文章中的内容略有不同.上述教程主要展示了如何创建新文档并对其进行样式化.虽然我需要改变现有的样式.
也就是说,我有一个现有的xlsx文档(报告模板).我使用必要的值填充报告(由于SO open xml excel读取单元格值和MSDN使用工作表(Open XML SDK)而设法执行此操作).但接下来我需要用红色背景标记几行.
我不确定是否要使用,CellStyle或者是否应该使用CellFormat或其他东西......这就是我现在所做的:
SpreadsheetDocument doc = SpreadsheetDocument.Open("ole.xlsx", true);
Sheet sheet = (Sheet)doc.WorkbookPart
.Workbook
.Sheets
.FirstOrDefault();
WorksheetPart worksheetPart = (WorksheetPart)doc.WorkbookPart
.GetPartById(sheet.Id);
Worksheet worksheet = worksheetPart.Worksheet;
CellStyle cs = new CellStyle();
cs.Name = StringValue.FromString("Normal");
cs.FormatId = 0;
cs.BuiltinId = 0;
//where are the style values?
WorkbookStylesPart wbsp = doc.WorkbookPart
.GetPartsOfType<WorkbookStylesPart>()
.FirstOrDefault();
wbsp.Stylesheet.CellStyles.Append(cs);
wbsp.Stylesheet.Save();
Cell cell = GetCell(worksheet, "A", 20);
cell.StyleIndex …Run Code Online (Sandbox Code Playgroud) Excel可以直接打开.xml文件并将它们渲染为漂亮的Excel文件.
可以在此处找到一个示例:http://en.wikipedia.org/wiki/Microsoft_Office_XML_formats#Excel_XML_Spreadsheet_example
我试图找到一个关于标签和属性的源,使用和一般结构,但我找不到任何.
我对这一切都很陌生.我甚至不知道从哪里开始.
任何帮助表示赞赏.
问候.
我正在编写 c# 程序来使用 OpenXML 读取 excel 文件。我在 Excel 文件的一列中添加了一个单词列表。我想读取它们并添加到数组列表中。我正在使用下面的代码
using (SpreadsheetDocument doc = SpreadsheetDocument.Open(filePatah + "\\" + fileName, false))
{
WorkbookPart workbookPart = doc.WorkbookPart;
WorksheetPart worksheetPart = workbookPart.WorksheetParts.First();
SheetData sheetData = worksheetPart.Worksheet.Elements<SheetData>().First();
ArrayList data = new ArrayList();
foreach (Row r in sheetData.Elements<Row>())
{
foreach (Cell c in r.Elements<Cell>())
{
data.Add(c.CellValue.Text);
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我期待列出这些单词时,我看到的是 1,2,3,4 等。我需要做什么才能得到这些词?
我试图通过OpenXML读取Excel文件并寻找输出到CSV.目前,它在一个单独的行(由于写信)或单行(当使用写入时)读取每个单元格.以Excel格式表格格式读取和输出的最佳方法是什么?OpenXML中是否有内置功能,我可以利用它?
Run Code Online (Sandbox Code Playgroud)static void Main(string[] args) { String xlDocName = @"C:\Users\xlp111\source.xlsx"; using (SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.Open(xlDocName, false)) { WorkbookPart workbookPart = spreadsheetDocument.WorkbookPart; string cellValue = string.Empty; foreach(WorksheetPart worksheetPart in workbookPart.WorksheetParts) { OpenXmlReader reader = OpenXmlReader.Create(worksheetPart); while (reader.Read()) { if (reader.ElementType == typeof(Row)) { reader.ReadFirstChild(); do { if (reader.ElementType == typeof(Cell)) { Cell c = (Cell)reader.LoadCurrentElement(); if (c.DataType != null && c.DataType == CellValues.SharedString) { SharedStringItem ssi = workbookPart.SharedStringTablePart.SharedStringTable.Elements<SharedStringItem>().ElementAt(int.Parse(c.CellValue.InnerText)); cellValue = ssi.Text.Text; Console.WriteLine(cellValue); } } } while (reader.ReadNextSibling()); } } } Console.ReadLine(); …