/// <summary> /// Sets a column heading to a cell /// </summary> /// <param name="spreadsheet">Spreadsheet to use</param> /// <param name="worksheet">Worksheet to use</param> /// <param name="columnIndex">Index of the column</param> /// <param name="rowIndex">Index of the row</param> /// <param name="stringValue">String value to set</param> /// <param name="useSharedString">Use shared strings? If true and the string isn't found in shared strings, it will be added</param> /// <param name="save">Save the worksheet</param> /// <returns>True if succesful</returns> public static bool SetColumnHeadingValue(DocumentFormat.OpenXml.Packaging.SpreadsheetDocument spreadsheet, DocumentFormat.OpenXml.Spreadsheet.Worksheet worksheet, uint columnIndex, string stringValue, bool useSharedString, bool save = true) { string columnValue = stringValue; DocumentFormat.OpenXml.Spreadsheet.CellValues cellValueType; // Add the shared string if necessary if (useSharedString) { if (ExcelProc.IndexOfSharedString(spreadsheet, stringValue) == -1) { ExcelProc.AddSharedString(spreadsheet, stringValue, true); } columnValue = ExcelProc.IndexOfSharedString(spreadsheet, stringValue).ToString(); cellValueType = DocumentFormat.OpenXml.Spreadsheet.CellValues.SharedString; } else { cellValueType = DocumentFormat.OpenXml.Spreadsheet.CellValues.String; } return(SetCellValue(spreadsheet, worksheet, columnIndex, 1, cellValueType, columnValue, 4, save)); //return SetCellValue(spreadsheet, worksheet, columnIndex, 2, cellValueType, columnValue, 4, save); }
/// <summary> /// Adds a list of strings to the shared strings table. /// </summary> /// <param name="spreadsheet">The spreadsheet</param> /// <param name="stringList">Strings to add</param> /// <returns></returns> public static bool AddSharedStrings(DocumentFormat.OpenXml.Packaging.SpreadsheetDocument spreadsheet, System.Collections.Generic.List <string> stringList) { foreach (string item in stringList) { ExcelProc.AddSharedString(spreadsheet, item, false); } spreadsheet.WorkbookPart.SharedStringTablePart.SharedStringTable.Save(); return(true); }