formato desde dar combinar centrar celdas c# excel

desde - Fusionar celdas en Excel usando C#



dar formato a excel desde c# (9)

Tengo una base de datos que contiene 5 tablas. Cada tabla contiene 24 filas y cada fila contiene 4 columnas.

Quiero mostrar estos registros en la hoja de Excel. El encabezado de cada tabla es el nombre de la tabla, pero no puedo fusionar las columnas para el encabezado.

Por favor, ayúdame.


Esto resuelve el problema de la manera apropiada

// Merge a row ws.Cell("B2").Value = "Merged Row(1) of Range (B2:D3)"; ws.Range("B2:D3").Row(1).Merge();


Fragmento de código

public partial class Form1 : Form { public Form1() { InitializeComponent(); } private Excel.Application excelApp = null; private void button1_Click(object sender, EventArgs e) { excelApp.get_Range("A1:A360,B1:E1", Type.Missing).Merge(Type.Missing); } private void Form1_Load(object sender, EventArgs e) { excelApp = Marshal.GetActiveObject("Excel.Application") as Excel.Application ; } }

Gracias


Puede usar Microsoft.Office.Interop.Excel:

worksheet.Range[worksheet.Cells[rowNum, columnNum], worksheet.Cells[rowNum, columnNum]].Merge();

También puedes usar NPOI:

var cellsTomerge = new NPOI.SS.Util.CellRangeAddress(firstrow, lastrow, firstcol, lastcol); _sheet.AddMergedRegion(cellsTomerge);


Puedes usar NPOI para hacerlo.

Workbook wb = new HSSFWorkbook(); Sheet sheet = wb.createSheet("new sheet"); Row row = sheet.createRow((short) 1); Cell cell = row.createCell((short) 1); cell.setCellValue("This is a test of merging"); sheet.addMergedRegion(new CellRangeAddress( 1, //first row (0-based) 1, //last row (0-based) 1, //first column (0-based) 2 //last column (0-based) )); // Write the output to a file FileOutputStream fileOut = new FileOutputStream("workbook.xls"); wb.write(fileOut); fileOut.close();


tomar una lista de cadenas como

List<string> colValListForValidation = new List<string>();

y hacer coincidir cadena antes de la tarea. te ayudará a bcz todas las celdas de fusión tendrán el mismo valor


Usando Interop, obtienes un rango de celdas y llamas al método .Merge() en ese rango.

eWSheet.Range[eWSheet.Cells[1, 1], eWSheet.Cells[4, 1]].Merge();


Excel.Application xl = new Excel.ApplicationClass(); Excel.Workbook wb = xl.Workbooks.Add(Excel.XlWBATemplate.xlWBATWorkshe et); Excel.Worksheet ws = (Excel.Worksheet)wb.ActiveSheet; ws.Cells[1,1] = "Testing"; Excel.Range range = ws.get_Range(ws.Cells[1,1],ws.Cells[1,2]); range.Merge(true); range.Interior.ColorIndex =36; xl.Visible =true;


Worksheet["YourRange"].Merge();


oSheet.get_Range("A1", "AS1").Merge();