Exportar tabla de datos a Excel usando secuencias de comandosHola, estoy tratando de aprender cómo exportar mi tabla de datos a Excel usando secuencias de comandos y algo de automatización.
Estoy usando save("") para abrir una ventana "Guardar archivo JMP como" que me pide que guarde el archivo. Me gustaría tener "Guardar como tipo" configurado en *.xls en lugar de *.jmp para no tener que cambiarlo cada vez. También me gustaría establecer la carpeta predeterminada que elige para guardar el archivo. ¿Se puede hacer algo de esto en los comandos de scipting? Soy un nuevo usuario y estoy buscando una solución simple. ¡Gracias por cualquier consejo! ~Shannon
Re: Exportar tabla de datos a Excel usando scripting¡Eso es increíble! Pero, ¿cómo preguntar al usuario si reemplaza un archivo existente o no?
Re: Exportar tabla de datos a Excel usando scriptingHola,
Tengo un problema con muchos de los archivos de Excel que se crearon hace mucho tiempo con una gran cantidad de datos. Supongo que se crearon antes de la versión. 2007 o 2003. Lo extraño es que el archivo no funciona en el 95% de las máquinas, se bloquea al agregar o eliminar la columna, con el error 1000 y Execel.exe.
Probé con 2 formas que funcionaron bien, pero esta no es la solución que necesito. Los archivos contienen freezpan y cuando descongelo funciona bien o copio la hoja a una hoja nueva, entonces funciona bien incluso con freezpan habilitado.
¿Cómo solucionar este problema en cientos de archivos? Estoy atascado con este problema.
Gracias en bien Adv.
Saludos
Faisal
Re: Exportar tabla de datos a Excel usando scriptingAlgo como esto eliminaría una extensión .jmp y agregaría .xlsx. Si ya eligió un archivo .xlsx en el filtro, no hará nada y sobrescribirá el archivo. Tenga en cuenta que JMP es bueno para guardar XLSX, pero realmente no funciona bien con XLS.
dt = tabla de datos actual();
filepath = pickFile("Seleccione un archivo para guardar", "c:\", {"Excel Files|xlsx"}, 1, 1);
pos = Contiene (ruta de archivo, ".xlsx");
if (pos == 0, ruta de archivo = Izquierda (ruta de archivo, pos-1); ruta de archivo = ruta de archivo || ".xlsx");
dt << Guardar como (ruta de archivo, archivo de Excel);
Brian Corcorán
Desarrollo JMP
Re: Exportar tabla de datos a Excel usando scripting@ShannonK ,
Sí, tienes razón. Si SELECCIONA un archivo ya existente, se incluye la extensión. Sin embargo, si se trata de un archivo NUEVO, deberá incluir la extensión.
@Craige_Hales puede ser capaz de comentar más?
Re: Exportar tabla de datos a Excel usando scriptingGracias por su ayuda. Incluí el código de guardado que sugirió, pero aparece un error: "No se puede guardar el archivo. Objetivo de datos desconocido".
He estado intentando sin éxito solucionar el error. Cuando verifico la salida de SaveFilePath, se ve así: "/C:/Users/jmp/name". Mi mejor conjetura sobre el problema es que la función de guardar no está agregando ".xlsx" al nombre del archivo.
(Estoy usando Windows pero "/C: ..." no parece ser un problema).
¿He identificado correctamente el error? ¿Alguna idea sobre cómo puedo solucionar el problema?
¡Gracias!
Shannon
Re: Exportar tabla de datos a Excel usando scriptingHola @ShannonK ,
Por lo tanto, el cuadro de diálogo Seleccionar archivo solo es responsable de asegurar la ruta y el nombre de archivo que desea. Así que en tu ejemplo:
Digamos:
path = "$DOCUMENTS" // this is shorthand for your "My Documents" folder<BR />
filtereddata = sorteddt << Subset(
(Selected Rows),
Columns(:YEARX, :PSU, :CASEID, :RATWGT, :VEHNO, :OCCNO, :DVTOTAL, :ROLLOVER, :GAD1, :PDOF1, :DOF1, :BODYTYPE, :AGE, :ROLE, :SEATPOS),
Output Table Name(filename)
);
SaveFilePath = Pick File(
"Save Filtered Data",
path,
{"Excel Files|xlsx;xls", "JMP Datatables|jmp", "Text Files|txt;csv;dat", "All Files|*"},
1,
saveFlag = 1
);
Después de seleccionar la carpeta y elegir un nombre para el archivo, la variable SaveFilePath contendrá esta información como una cadena.
A continuación, haría lo siguiente:
SaveFilePath );filtereddata << Save(
Re: Exportar tabla de datos a Excel usando scriptingEsto es genial, gracias.
Sin embargo, todavía tengo 1 problema. ¿Cómo le digo qué archivo estoy guardando? Estoy escribiendo un nombre de archivo para guardarlo, pero no aparece nada en mi carpeta. Me pregunto si eso es porque no tiene nada que salvar.
Estoy creando una tabla de datos y luego ejecutando el código SafeFileWindow que sugirió. Pido disculpas si me estoy perdiendo algo simple. ¡Soy nuevo en esto! (Además, por alguna razón, la ventana de guardar archivo aparece antes de que aparezca la tabla de datos. En otras palabras, la ventana de guardar archivo no es la ventana activa después de ejecutar este código).
Gracias por tu ayuda.
Aquí hay una parte de mi código:
datosfiltrados = sorteddt << Subconjunto(
(filas seleccionadas),
Columnas (:YEARX, :PSU, :CASEID, :RATWGT, :VEHNO, :OCCNO, :DVTOTAL, :ROLLOVER, :GAD1, :PDOF1, :DOF1, :BODYTYPE, :AGE, :ROLE, :SEATPOS),
Nombre de tabla de salida (nombre de archivo)
);
SaveFileWindow = Seleccionar archivo(
"Guardar datos filtrados",
camino,
{"Archivos de Excel|xlsx;xls", "Tablas de datos JMP|jmp", "Archivos de texto|txt;csv;dat", "Todos los archivos|*"},
1,
Guardar Bandera = 1
);
Re: Exportar tabla de datos a Excel usando scripting@ShannonK
Intente esto, reemplazando "" con la ruta de la carpeta que le gustaría que apareciera inicialmente:
SaveFileWindow = Pick File(
"Save File",
"<DEFAULT folder="" path="">",
{"Excel Files|xlsx;xls", "JMP Datatables|jmp", "Text Files|txt;csv;dat", "All Files|*"},
1,
saveFlag = 1
);
</DEFAULT>
Puede leer más sobre la función Seleccionar archivo en: http://www.jmp.com/support/help/13/Select_a_Directory_or_File.shtml