web-dev-qa-db-fra.com

excel coloration cellulaire

J'utilise c # pour colorer des cellules particulières d'un fichier Excel. J'utilise:

Application Excel = new Application();
Workbook wb = Excel.Workbooks.Open(destPath);
 Worksheet ws = wb.Worksheets[1];
 ws.get_Range(ws.Cells[row, clmn]).Cells.Interior.Color = 36;

... pour colorer les cellules, mais cela ne fonctionne pas. Quelqu'un peut m'aider?

10
bill

Essayez quelque chose comme ça

ws.Cells[row, clmn].Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Red)
14
Stecya

Cells [row, clmn] est une plage, vous n'avez donc pas besoin d'appeler get_Range () et vous pouvez utiliser une énumération que vous pouvez utiliser pour les couleurs.

ws.Cells[row, clmn].Interior.Color = XlRgbColor.rgbBlack;
6
Tom Brothers

Si vous voulez définir couleur par index de couleur, vous devez utiliser cette méthode:

    Cells[row, col].Interior.ColorIndex = 36;
4
Khanh

Assurez-vous que vous utilisez:

using Excel = Microsoft.Office.Interop.Excel;

Si vous avez une variable pour la plage que vous souhaitez modifier, utilisez:

chartRange = xlWorkSheet.get_Range("a5", "a8");    
chartRange.Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Black);

Si vous voulez simplement changer la couleur d'une cellule spécifique, utilisez:

xlWorkSheet.Cells[row, col].Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Black);

... où 'ligne' est le numéro de ligne et 'col' est le numéro de colonne attribué aux colonnes en lettres données (commençant à 1).

1
Member2017

Vous pouvez colorer une cellule, une colonne entière ou une ligne entière.

Le code ci-dessous vous aidera.

xlWorkSheet.get_Range(xlWorkSheet.Cells[2, 2], xlWorkSheet.Cells[2, 4]).Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Green);

else

xlWorkSheet.get_Range(xlWorkSheet.Cells[2, 3], xlWorkSheet.Cells[2, 3]).Interior.Color = Excel.XlRgbColor.rgbRed;

Ici xlWorksheet est l'objet Objet feuille de calcul Excel.

get_Range prend 2 variables, une cellule de départ et une autre, cellule de fin.

ainsi, si vous spécifiez les deux valeurs identiques, une seule cellule est colorée.

xlWorkSheet.cells [ligne, colonne] est utilisé pour spécifier une cellule.

System.Drawing.ColorTranslator.ToOle (SystemDrawing.Color.Green) est utilisé pour définir la couleur au format OLE.

Excel.XlRgbColor.rgbRed est un moyen Excel de colorer les cellules Cette méthode donne accès à un grand nombre de couleurs que vous pouvez trouver ici liste de couleurs

Le code ci-dessous est la façon dont j'ai défini la feuille de calcul Excel.

Excel.Workbook xlWorkBook;
Excel.Worksheet xlWorkSheet;
Excel.Range xlwidthadjust; //used this to adjust width of columns
object misValue = System.Reflection.Missing.Value;

xlWorkBook = xlApp.Workbooks.Add(misValue);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);

avec ce code, je suis sûr que vous n'obtiendrez pas cette exception Exception de HRESULT: 0x800A03EC

1
Tejaswi Pandava