Подтвердить что ты не робот

Объединение ячеек в Excel с помощью С#

У меня есть база данных, которая содержит 5 таблиц. Каждая таблица содержит 24 строки, каждая строка содержит 4 столбца.

Я хочу отобразить эти записи в листе Excel. Заголовок каждой таблицы - это имя таблицы, но я не могу объединить столбцы для заголовка.

Пожалуйста, помогите мне.

4b9b3361

Ответ 1

Используя Interop, вы получаете диапазон ячеек и вызываете метод .Merge() в этом диапазоне.

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

Ответ 2

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

Ответ 3

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;

Ответ 4

Фрагмент кода

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 ;
    }
}

Спасибо

Ответ 5

Это решает проблему соответствующим образом.

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

Ответ 6

Вы можете использовать NPOI для этого.

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();

Ответ 7

Вы можете использовать Microsoft.Office.Interop.Excel:

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

Вы также можете использовать NPOI:

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

Ответ 8

возьмите список строк как

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

и сопоставить строку перед задачей. это поможет вам bcz все ячейки слияния будут иметь одинаковое значение

Ответ 9

Worksheet["YourRange"].Merge();

Ответ 10

Попытайся.

ws.Range("A1:F2").Merge();

Ответ 11

myWorkSheet.Range(firstCellRow, firstCellColumn, lastCellRow, lastCellColumn).Merge();

Все параметры имеют тип int.