Cualquier función .Net o consulta de linq para quitar datos

¿Hay alguna biblioteca .net disponible para quitar datos de Excel? Actualmente estoy usando el marco de trabajo de LinqToExcel para leer datos de hojas de cálculo, por lo que no estoy seguro de si hay consultas dinámicas de linq disponibles para realizar el no-pivote. Gracias por cualquier sugerencia. Por cierto, estoy buscando una solución que pueda manejar múltiples columnas.

Ejemplo de tabla original

Product Location  Customer1   Customer2   Customer3
  A        X          10         20         100

Tabla de Destino

Product Location Customer    Demand
  A        X      Customer1    10
  A        X      Customer2    20
  A        X      Customer3    100

Respuestas a la pregunta(1)

Su respuesta a la pregunta