operación vc ADO Excel
Usé VC hace mucho tiempo, pero ahora uso C#. Sin embargo, recuerdo que VC también usó objetos de automatización al principio. Siempre que obtenga la unidad EXCEL, no es necesario que escriba cómo desea diseñar el encabezado.
El siguiente código es para su referencia:
Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application();
Libro de trabajo excelWB = excelApp.Workbooks.Add(System.Type.Missing); //Crear un libro de trabajo (Libro de trabajo: el cuerpo del archivo de Excel)
Hoja de trabajo excelWS = (Hoja de trabajo)excelWB. Worksheets[1] ; //Crear una hoja de trabajo (es decir, una subhoja en Excel) 1 significa exportar datos en la subhoja1
int nRange = 0 //Rango máximo
int; nStartRow = 0;
foreach(DataGrid dg en dataGrids)
{
if (dg.Columns.Count() > nRange)
{
nRange = dg.Columns.Count();
}
}
char cMax = (char)( ( int)'A' + nRange);
if (nRange > 25)
{
nRange = 25;
cMax = 'Z';
}
//Si hay un tipo numérico en los datos, se puede mostrar en formato de texto
//Importar el datos en la hoja de cálculo Celda
//Escribe el encabezado:
if (strHeadList != null)
{
nStartRow = strHeadList. Count() ;
for (int i = 0; i < nStartRow; i++)
{
//int nHeight = strHeadList[0].Split ('\ n').Count();
Rango rango = (Rango)excelWS.get_Range("A" + (i + 1).ToString(), cMax.ToString() + (i + 1) .ToString()); //Obtener múltiples rangos de celdas en Excel: este ejemplo se usa como encabezado de Excel
range.Merge(0);
Combine el get_Range() anterior para el diseño
//range.RowHeight = 100;
range.Borders.LineStyle = 1 //Establezca el grosor del borde de la celda
//range.Cells.Interior.Color = System.Drawing.Color.FromArgb(255, 204, 153).ToArgb() //Establece el color de fondo del rango de celda
.WrapText =true; //El texto se ajusta automáticamente
int count = Regex.Matches(strHeadList[i], "\n").Count;
range.RowHeight = (count +1 ) * 15;
//range.EntireRow.AutoFit();
range.BorderAround(XlLineStyle.xlContinuous, XlBorderWeight.xlThick, XlColorIndex.xlColorIndexAutomatic, System.Drawing. Color. FromArgb(255, 204, 153).ToArgb()); //Agregar bordes a las celdas
//range.Borders.get_Item(Microsoft.Office.Interop.Excel.XlBordersIndex.xlEdgeTop). LineStyle = Microsoft.Office.Interop.Excel.XlLineStyle.xlLineStyleNone; //Establece que el borde superior de la celda no tenga bordes
//range.Interior.ColorIndex = 39;
//range.Font.Color = System.Drawing.Color.FromArgb(255, 204, 153).ToArgb() //Color de fuente
//range.EntireColumn .AutoFit( ); //Ajustar automáticamente el ancho de la columna
//range.HorizontalAlignment=XlHAlign.xlHAlignCenter ; // Centrado horizontal del texto
//range.VerticalAlignment = VerticalAlignment. Centro; / /Método de centrado vertical del texto
if (bIsTitle)
{
range.Font
.Bold = verdadero;
range.HorizontalAlignment = XlHAlign.xlHAlignCenter;
range.get_Offset(0, 0).Cells.Value = strHeadList[i];
}
else
range.get_Offset(0, 0).Value = strHeadList[i];
}
}