當前位置:編程學習大全網 - 編程語言 - vb6.0編程用到flexcell控件,怎麽將單元格合並,或者分開。

vb6.0編程用到flexcell控件,怎麽將單元格合並,或者分開。

uses ComOBj;

var

workbook,sheet,excelObj,excel: OleVariant;

begin

excelObj := CreateOleObject('excel.sheet');

excel := excelObj.Application;

workbook := excel.workbooks.open(filePath);//打開某個文件

sheet := workbook.sheets[1];

Excel.ActiveWindow.WindowState := -4137;

Sheet.Range['A1', 'C3'].Select;//選擇範圍

Excel.Selection.HorizontalAlignment := xlCenter;//水平和垂直居中

Excel.Selection.VerticalAlignment := xlCenter;

Excel.Selection.MergeCells := True;//合並單元格

excel.visible := true;

end;

private void MergeRow2(Grid grid, string colNum, int startRow)

{

string oldStr = string.Empty;

int mergeStartRow = -1;

string[] cols = colNum.Split('|');

string oldNum = string.Empty;

int rowMak = startRow;

for (int i = 0; i < cols.Length; i++)

{

int col = int.Parse(cols[i]);

startRow = rowMak;

if (col != 1)

{

for (int row = startRow; row < grid.Rows; row++)

{

string newNum = grid.Cell(startRow, 1).Text.Trim();

string newStr = grid.Cell(startRow, col).Text.Trim();

if (oldStr == "")

{

oldStr = newStr;

oldNum = newNum;

startRow += 1;

}

else

{

if (newNum == oldNum && oldStr == newStr)

{

grid.Range(startRow, col, startRow - 1, col).Merge();

}

oldStr = newStr;

oldNum = newNum;

startRow += 1;

}

}

}

else

{

for (int j = 0; j < cols.Length; j++)

{

for (int row = 1; row < grid.Rows; row++)

{

string newStr = grid.Cell(row, col).Text.Trim();

if (oldStr != newStr)

{

// 先合並

if ((mergeStartRow > -1) && (row - 1 > mergeStartRow))

{

grid.Range(mergeStartRow, col, row - 1, col).Merge();

}

// 後賦值

oldStr = newStr;

mergeStartRow = row;

}

}

}

}

}

}

  • 上一篇:無人機專業就業前景工資待遇怎麽樣
  • 下一篇:金華UG軟件 模具設計培訓
  • copyright 2024編程學習大全網