Actualmente estoy escribiendo sobre escritura dinámica y estoy dando un ejemplo de interoperabilidad de Excel. Casi no he hecho ninguna interoperabilidad de Office antes, y se nota. El tutorial de MSDN Office Interop para C # 4 usa la _Worksheet
interfaz, pero también hay una Worksheet
interfaz. No tengo idea de cuál es la diferencia.
En mi aplicación de demostración absurdamente simple (que se muestra a continuación), cualquiera de las dos funciona bien, pero si las mejores prácticas dictan una u otra, prefiero usarla de manera apropiada.
using System;
using System.Linq;
using Excel = Microsoft.Office.Interop.Excel;
class DynamicExcel
{
static void Main()
{
var app = new Excel.Application { Visible = true };
app.Workbooks.Add();
// Can use Excel._Worksheet instead here. Which is better?
Excel.Worksheet workSheet = app.ActiveSheet;
Excel.Range start = workSheet.Cells[1, 1];
Excel.Range end = workSheet.Cells[1, 20];
workSheet.get_Range(start, end).Value2 = Enumerable.Range(1, 20)
.ToArray();
}
}
Estoy tratando de evitar hacer una inmersión profunda en la interoperabilidad de COM u Office, solo destacando las nuevas características de C # 4, pero no quiero hacer nada realmente tonto.
(También puede haber algo realmente tonto en el código anterior, en cuyo caso, hágamelo saber. Usar celdas de inicio / finalización separadas en lugar de solo "A1: T1" es deliberado; es más fácil ver que es realmente un rango de 20 celdas. Cualquier otra cosa probablemente sea accidental).
Entonces, ¿debería usar _Worksheet
o Worksheet
y por qué?