No estoy seguro de si esto se considera convertir los datos de texto en texto enriquecido o no, pero quiero tomar una serie de entradas, ya sea de una tabla o una serie de divs (este último es lo que estoy usando), y colóquelo en un formato que se pueda pegar fácilmente en Word, Outlook o Excel como una tabla.
Todavía no he descubierto cómo voy a recorrer la lista para obtener todas las entradas posibles, pero en pseudocódigo, lo siguiente es lo que estoy buscando hacer:
var currentLine; // This is the current line used in the following loop: for (<each list item found>) { currentLine = `${box1A} ${box1B}`; <append currentLine to a new line in a textarea element>; } <select the text in the textarea element>; document.execCommand('copy');En última instancia, el javascript que realmente usaré dará como resultado que se peguen nuevas líneas en una nueva fila (esto es bueno), sin embargo, las dos cadenas estarán en la celda de entrada. Vea el siguiente ejemplo:
+------------+-------+ | box1A box1B| | +------------+-------+ | box2A box2B| | +------------+-------+ | box3A box3B| | +------------+-------+ | etc.. etc..| | +------------+-------+¿Cómo puedo asegurarme de que box1A terminará en una celda y box1B se pegará automáticamente en una segunda celda en la misma fila? Vea el siguiente ejemplo de lo que quiero:
+-------+-------+ | box1A | box1B | +-------+-------+ | box2A | box2B | +-------+-------+ | box3A | box3B | +-------+-------+ | etc.. | etc.. | +-------+-------+Según mis hallazgos hasta ahora, los valores están separados por tabulaciones. En el ejemplo que proporcioné, para que boxA y boxB se alineen con diferentes celdas en la misma fila, puede usar la siguiente configuración para la cadena:
var row = `${box1A}\t${box1B}\n${box2A}\t${box2B}\n${box3A}\t${box3B}`El resultado final de la línea anterior produciría, una vez copiado en el portapapeles y pegado en Excel:
+-------+-------+ | box1A | box1B | +-------+-------+ | box2A | box2B | +-------+-------+ | box3A | box3B | +-------+-------+ El \t denota un tabulador horizontal y dará como resultado el ingreso automático del siguiente valor en la siguiente celda.
El \n denota una nueva línea y dará como resultado que se ingrese automáticamente el siguiente valor en la siguiente celda.