Un cliente desea "habilitar por Internet" un cálculo de hoja de cálculo: el usuario especifica los valores de ciertas celdas y luego le muestra los valores resultantes en otras celdas.¿Cómo se usa Excel en el lado del servidor?
(que no quieren mostrar al usuario una interfaz "de hoja de cálculo". Esta no es una cuestión de interfaz de usuario.)
Tienen una enorme hoja de cálculo con una gran cantidad de cálculos sobre muchos, muchas hojas. Pero, al final, solo dos cosas importan: (1) colocas números en un par de celdas en una hoja, y (2) obtienes los números correspondientes de un par de celdas en otra hoja. El resto es una caja negra.
Quiero presentar una IU al usuario para ingresar los números que ellos quieren, entonces me gustaría abrir programáticamente el archivo de Excel, configurar los números, decirles que vuelvan a calcinar y leer el resultado.
¿Esto es posible/aconsejable? ¿Hay algún componente comercial que lo haga más fácil? Son sus trampas que no estoy considerando?
(Sé que puedo utilizar Office Automation para hacer esto, pero sé que no es recomendable hacer que del lado del servidor, ya que se trata de correr en el contexto de un usuario, etc.)
Editar : Mucha gente dice que necesito recrear las fórmulas en código. Sin embargo, esto sería asombrosamente complejo. Parece que esto podría ser un problema resuelto. ¿Alguien sabe de algún componente que lo haga por mí? Alguien tiene que haber creado algún sistema de generación de "fórmulas de Excel a código". Me encantaría pagar por ello.
Edición/Solución:SpreadsheetGear es lo que estaba buscando. Entre otras cosas, le permite usar un XLS como calculadora. Puede establecer los valores brutos de las celdas seleccionadas y luego leer los valores de las celdas calculadas. Exactamente lo que estaba buscando.
El componente de SpreadsheetGear funcionó perfectamente, gracias. – Deane
Es bueno escucharlo, realmente no lo he usado mucho para los cálculos de Excel. Lo usamos principalmente para importar y exportar archivos de Excel para aplicaciones de intranet, para lo cual es fanástico (mucho mejor que nuestras cosas de escritorio que todavía tienen código heredado de interoperabilidad) – David