public static void Run() { // ExStart:1 CellsApi cellsApi = new CellsApi(Common.APP_KEY, Common.APP_SID, Common.BASEPATH); StorageApi storageApi = new StorageApi(Common.APP_KEY, Common.APP_SID, Common.BASEPATH); String fileName = "Sample_Test_Book.xls"; String sheetName = "Sheet1"; int mergedCellIndex = 0; String storage = ""; String folder = ""; try { // Upload source file to aspose cloud storage storageApi.PutCreate(fileName, "", "", System.IO.File.ReadAllBytes(Common.GetDataDir() + fileName)); // Invoke Aspose.Cells Cloud SDK API to get merged cells from worksheet MergedCellResponse apiResponse = cellsApi.GetWorkSheetMergedCell(fileName, sheetName, mergedCellIndex, storage, folder); if (apiResponse != null && apiResponse.Status.Equals("OK")) { MergedCell mergedCell = apiResponse.MergedCell; Console.WriteLine("Merge Start Column :: " + mergedCell.StartColumn); Console.WriteLine("Merge End Column :: " + mergedCell.EndColumn); Console.ReadKey(); } } catch (Exception ex) { System.Diagnostics.Debug.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace); } // ExEnd:1 }
public int CreateHeader(out IList <string> formats) { int width = Tree.Roots.Sum(x => x.CalculateLeaesCount()); int height = Tree.Roots.Max(x => x.MaxDepth); var allRetangles = Tree.CalculateRetangles(); formats = Tree.Roots.SelectMany(x => x.CalculateLeaves()).Select(x => x.Format).ToList(); //创建原子单元格 for (int i = 0; i < height; i++) { for (int j = 0; j < width; j++) { var cell = sheet.Cells[i + 1, j + 1]; var retangle = allRetangles.FirstOrDefault(x => x.RetanglePosition.X == j && x.RetanglePosition.Y == i); if (retangle != null) { cell.Value = retangle.Title; cell.AutoFitColumns(); } } } // 计算合并 foreach (var retangle in allRetangles) { var mergedCellDefine = new MergedCell(retangle); var mergedCell = sheet.Cells[ mergedCellDefine.StartRow, mergedCellDefine.StartColumn, mergedCellDefine.EndRow, mergedCellDefine.EndColumn]; mergedCell.Merge = true; mergedCell.Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Center; mergedCell.Style.VerticalAlignment = OfficeOpenXml.Style.ExcelVerticalAlignment.Center; mergedCell.Style.Border.BorderAround(OfficeOpenXml.Style.ExcelBorderStyle.Medium); mergedCell.Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid; mergedCell.Style.Fill.BackgroundColor.SetColor(Color.LightYellow); mergedCell.Value = retangle.Title; } return(height); }