首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> VC >> VC 教學

VC++ 自動化設定 Excel 儲存格邊框樣式完整代碼

     編輯:VC 教學

核心物件模型

Excel 邊框透過 Range.Borders 集合設定,或單一邊框 Range.BorderAround。本文示範逐儲存格設定 BorderAround (適合不規則區域)。

關鍵代碼片段


// 變數宣告
LPDISPATCH pDisp;
CString cellAddr;
_variant_t vLineStyle, vWeight, vColorIndex, vColor;
Range range; // 包裝類別

// 計算儲存格位址 (A1, B1... AA1, AB1...)
int col = j; // 0-based
int row = i + 1; // 1-based, 假設標題列在第 0 行
if (col < 26) cellAddr.Format(_T("%c%d"), 'A' + col, row);
else cellAddr.Format(_T("%c%c%d"), 'A' + col/26 - 1, 'A' + col%26, row);

// 取得 Range 物件
pDisp = worksheet.GetRange(COleVariant(cellAddr));
range.AttachDispatch(pDisp, TRUE); // TRUE: 自動 ReleaseDispatch

// 對齊方式
COleVariant vAlign((short)-4108); // xlCenter
range.SetHorizontalAlignment(vAlign);
range.SetVerticalAlignment(vAlign);

// 邊框設定:BorderAround (外框)
vLineStyle.vt = VT_I2; vLineStyle.lVal = 1;   // 1=實線, 2=大虛線, 3=小虛線, 4=點線, 5=虛點線, 6=雙線
vWeight.vt = VT_I2; vWeight.lVal = 2;         // 1=細, 2=中, 3=粗, 4=極粗
vColorIndex.vt = VT_I2; vColorIndex.lVal = 1; // 1=黑, 2=白, 3=紅, 4=綠, 5=藍, 6=黃...
vColor.vt = VT_UI4; vColor.uintVal = RGB(0,0,0); // ColorIndex 優先,Color 為 RGB 覆蓋

range.BorderAround(vLineStyle, vWeight, vColorIndex, vColor);

// 寫入值
CString val = GetCellData(i, j);
if (!val.IsEmpty()) range.SetValue(COleVariant(val));

range.ReleaseDispatch(); // 釋放介面指標

邊框常數對照表 (Excel 列舉)

屬性值說明
LineStyle1xlContinuous (實線)
2xlDash (虛線)
3xlDot (點線)
4xlDashDot (虛點線)
5xlDashDotDot (虛點點線)
6xlDouble (雙線)
-4142xlLineStyleNone (無)
Weight1xlHairline (極細)
2xlThin (細)
3xlMedium (中)
4xlThick (粗)
ColorIndex1..56調色盤索引 (1=黑, 2=白, 3=紅...)

效能建議

  • 大量儲存格設定邊框時,**避免逐格 BorderAround**。改用 Range("A1:Z100").Borders.LineStyle = xlContinuous 一次套用整個區塊。
  • 關閉螢幕更新:app.SetScreenUpdating(FALSE) 操作結束 TRUE。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved