2

セルに境界線を作成してから、左右の境界線を作成します。

このコードを試しましたが、機能しません:(

objSheet.get_Range("F19").Borders[Excel.XlBordersIndex.xlEdgeLeft].LineStyle = true;
objSheet.get_Range("F19").Borders.Color = Color.Black;

私はあなたがここで見る2番目のものを手に入れます。(周りの境界線) http://i.imgur.com/EUgmJNB.png

どうすればこれを機能させることができますか?または、セルの左側と右側の境界線をC#からExcelに変換することはできませんか?

4

2 に答える 2

2

これを試して:

var range = objSheet.get_Range("F19");
System.Drawing.Color color = System.Drawing.Color.Black;
range.Borders[XlBordersIndex.xlEdgeRight].Color = color;
range.Borders[XlBordersIndex.xlEdgeLeft].Color = color;

編集:Excelオブジェクトのクリーンアップが心配で、2つのドットの使用を避けたい場合(ここでの説明を参照)、使用する境界線の参照を次のように保持できます。

var right = range.Borders[XlBordersIndex.xlEdgeRight];
var left = range.Borders[XlBordersIndex.xlEdgeLeft];
right.Color = color;
left.Color = color;

私の元のバージョンは間接的に2つのドットを使用していると思います。

于 2013-03-07T15:42:27.967 に答える
1

次のように、特定の境界線の線のスタイルと色を設定できます。

Excel.Range range = objSheet.get_Range("F19");
Excel.Border border = range.Borders[Excel.XlBordersIndex.xlEdgeRight];
border.LineStyle = Excel.XlLineStyle.xlContinuous;
border.Color = Color.Black;

border = range.Borders[Excel.XlBordersIndex.xlEdgeLeft];
border.LineStyle = Excel.XlLineStyle.xlContinuous;
border.Color = Color.Black;

そして、参照をクリーンアップします。

border = null;
range = null;

特にオブジェクトへの参照を作成することで、Excel.Borderオブジェクトを破棄でき、ぶら下がったままになりません。Excelを使用する場合の「2ドット」の使用の排除を参照してください。

于 2013-03-07T16:38:09.697 に答える