Comment puis-je get un style partiel de cellule dans Excel en utilisant EPpplus?

J'ai une cellule qui a un text en italique et un text non en italique. Comment préserver le formatting? J'ai regardé OfficeOpenXml.Style.ExcelStyle et voyais les options suspendues pour gras, italique, etc. mais celles s'appliquent à la cellule entière. Existe-t-il un moyen de dire quel text est formé d'une certaine manière en utilisant eppplus et de préserver ce formatting?

FileInfo info = new FileInfo(@"C:\excel.xlsx"); using (ExcelPackage package = new ExcelPackage(info)) { ExcelWorksheet sheet = package.Workbook.Worksheets["Sheet"]; object text = sheet.Cells[1, 1].Value; // if I do toSsortingng, I lose all formatting: ssortingng textWithOutFormat = text.ToSsortingng(); // I would assume I'd get it some how like this? if (sheet.Cells[1, 1].IsRichText) { // get rich text formatting or get what items are wrapp in rich text // no idea how to get it. } } 

Pour écrire une cellule avec plusieurs styles:

 FileInfo fi = new FileInfo(@"c:\File.xlsx"); using (ExcelPackage package = new ExcelPackage(fi)) { ExcelWorksheet worksheet = package.Workbook.Worksheets["Sheets"]; worksheet.Cells[1, 1].IsRichText = true; ExcelRichText richtext = worksheet.Cells[1, 1].RichText.Add("Test Italic"); richtext .Italic = true; richtext = worksheet.Cells[1, 1].RichText.Add("Test 2"); richtext .Italic = false; package.Save(); } FileInfo fi = new FileInfo (@ "c: \ File.xlsx"); FileInfo fi = new FileInfo(@"c:\File.xlsx"); using (ExcelPackage package = new ExcelPackage(fi)) { ExcelWorksheet worksheet = package.Workbook.Worksheets["Sheets"]; worksheet.Cells[1, 1].IsRichText = true; ExcelRichText richtext = worksheet.Cells[1, 1].RichText.Add("Test Italic"); richtext .Italic = true; richtext = worksheet.Cells[1, 1].RichText.Add("Test 2"); richtext .Italic = false; package.Save(); } en utilisant (package ExcelPackage = nouveau ExcelPackage (fi)) FileInfo fi = new FileInfo(@"c:\File.xlsx"); using (ExcelPackage package = new ExcelPackage(fi)) { ExcelWorksheet worksheet = package.Workbook.Worksheets["Sheets"]; worksheet.Cells[1, 1].IsRichText = true; ExcelRichText richtext = worksheet.Cells[1, 1].RichText.Add("Test Italic"); richtext .Italic = true; richtext = worksheet.Cells[1, 1].RichText.Add("Test 2"); richtext .Italic = false; package.Save(); } Feuille de calcul ExcelWorksheet = package.Workbook.Worksheets ["Sheets"]; FileInfo fi = new FileInfo(@"c:\File.xlsx"); using (ExcelPackage package = new ExcelPackage(fi)) { ExcelWorksheet worksheet = package.Workbook.Worksheets["Sheets"]; worksheet.Cells[1, 1].IsRichText = true; ExcelRichText richtext = worksheet.Cells[1, 1].RichText.Add("Test Italic"); richtext .Italic = true; richtext = worksheet.Cells[1, 1].RichText.Add("Test 2"); richtext .Italic = false; package.Save(); } worksheet.Cells [1, 1] .IsRichText = true; FileInfo fi = new FileInfo(@"c:\File.xlsx"); using (ExcelPackage package = new ExcelPackage(fi)) { ExcelWorksheet worksheet = package.Workbook.Worksheets["Sheets"]; worksheet.Cells[1, 1].IsRichText = true; ExcelRichText richtext = worksheet.Cells[1, 1].RichText.Add("Test Italic"); richtext .Italic = true; richtext = worksheet.Cells[1, 1].RichText.Add("Test 2"); richtext .Italic = false; package.Save(); } ExcelRichText richtext = worksheet.Cells [1, 1] .RichText.Add ("Test Italic"); FileInfo fi = new FileInfo(@"c:\File.xlsx"); using (ExcelPackage package = new ExcelPackage(fi)) { ExcelWorksheet worksheet = package.Workbook.Worksheets["Sheets"]; worksheet.Cells[1, 1].IsRichText = true; ExcelRichText richtext = worksheet.Cells[1, 1].RichText.Add("Test Italic"); richtext .Italic = true; richtext = worksheet.Cells[1, 1].RichText.Add("Test 2"); richtext .Italic = false; package.Save(); } richtext .Italic = true; FileInfo fi = new FileInfo(@"c:\File.xlsx"); using (ExcelPackage package = new ExcelPackage(fi)) { ExcelWorksheet worksheet = package.Workbook.Worksheets["Sheets"]; worksheet.Cells[1, 1].IsRichText = true; ExcelRichText richtext = worksheet.Cells[1, 1].RichText.Add("Test Italic"); richtext .Italic = true; richtext = worksheet.Cells[1, 1].RichText.Add("Test 2"); richtext .Italic = false; package.Save(); } richtext = worksheet.Cells [1, 1] .RichText.Add ("Test 2"); FileInfo fi = new FileInfo(@"c:\File.xlsx"); using (ExcelPackage package = new ExcelPackage(fi)) { ExcelWorksheet worksheet = package.Workbook.Worksheets["Sheets"]; worksheet.Cells[1, 1].IsRichText = true; ExcelRichText richtext = worksheet.Cells[1, 1].RichText.Add("Test Italic"); richtext .Italic = true; richtext = worksheet.Cells[1, 1].RichText.Add("Test 2"); richtext .Italic = false; package.Save(); } richtext .Italic = false; FileInfo fi = new FileInfo(@"c:\File.xlsx"); using (ExcelPackage package = new ExcelPackage(fi)) { ExcelWorksheet worksheet = package.Workbook.Worksheets["Sheets"]; worksheet.Cells[1, 1].IsRichText = true; ExcelRichText richtext = worksheet.Cells[1, 1].RichText.Add("Test Italic"); richtext .Italic = true; richtext = worksheet.Cells[1, 1].RichText.Add("Test 2"); richtext .Italic = false; package.Save(); } package.Save (); FileInfo fi = new FileInfo(@"c:\File.xlsx"); using (ExcelPackage package = new ExcelPackage(fi)) { ExcelWorksheet worksheet = package.Workbook.Worksheets["Sheets"]; worksheet.Cells[1, 1].IsRichText = true; ExcelRichText richtext = worksheet.Cells[1, 1].RichText.Add("Test Italic"); richtext .Italic = true; richtext = worksheet.Cells[1, 1].RichText.Add("Test 2"); richtext .Italic = false; package.Save(); } 

Pour lire une cellule avec plusieurs styles:

 foreach(var part in cell.RichText) { if (part.Bold) // Do staff if (part.Italic) // Do staff } foreach (partie var dans cell.RichText) foreach(var part in cell.RichText) { if (part.Bold) // Do staff if (part.Italic) // Do staff } si (part.Bold) foreach(var part in cell.RichText) { if (part.Bold) // Do staff if (part.Italic) // Do staff } // fais le personnel foreach(var part in cell.RichText) { if (part.Bold) // Do staff if (part.Italic) // Do staff } si (part.Italic) foreach(var part in cell.RichText) { if (part.Bold) // Do staff if (part.Italic) // Do staff } // fais le personnel foreach(var part in cell.RichText) { if (part.Bold) // Do staff if (part.Italic) // Do staff }