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?
Essayez quelque chose comme ça
ws.Cells[row, clmn].Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Red)
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;
Si vous voulez définir couleur par index de couleur, vous devez utiliser cette méthode:
Cells[row, col].Interior.ColorIndex = 36;
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).
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