Me resultó algo difícil escribir el título de este artículo ya que no creo que haga justicia a lo que el código, que voy a compartir, hace.

El problema de copiar y pegar.
Estoy trabajando para una agencia marítima en donde muchos de los datos (de barcos y cruceros) nos llegan en hojas de cálculo (Excel, de ahora en más). Luego nos toca crear ooootro Excel a partir de la información del archivo original para repartir a distintos departamentos, agencias y/o entidades según corresponda pero con distintas columnas.
Hasta ahora venimos haciendo todo este trabajo de manera manual, y la idea es evitar el error humano en un mal copiar/pegar.
¡JavaScript a sus órdenes!
Buscando librerías me encuentro con que SheetJS permite trabajar con archivos Excel en el lado del cliente (frontend) y luego de ver un par de demos decido probarlo.
Concepto básico.
La idea, básicamente, es tener un archivo Excel «matriz». Luego quitar muchas de esas columnas y crear un nuevo archivo con ciertas columnas, el cual enviaremos a una agencia. Usar el Excel «matriz» para luego crear otro archivo Excel, pero en esta oportunidad para una entidad gubernamental. Y así crear la cantidad de Excel necesarios con información para una persona/agencia/empresa en particular…
Creo que esta explicación no ayuda mucho. Vamos mejor a un ejemplo visual y simple.
Un ejemplo visual y simple.
Tenemos un Excel con la siguiente información:

Creamos un formulario HTML con algunas opciones para que haga lo siguiente:
- Permita unir campos de Nombre y Apellido en un solo campo
- Filtre información por edades
- Descargue el archivo al enviar el formulario

Al subir el Excel original al formulario y elegir las distintas opciones, nos descargará el archivo final listo para ser enviado a nuestros clientes:

El código.
Bueno, basta de charla.
Creé el siguiente codepen 100% funcional y con sus comentarios (en inglés).
Espero aliviane el complejo camino sinuoso de filtrar y pasar columnas de un Excel a otro y los ayude.
Mi aporte al mundo.
¡Saludos!