Cómo evitar cambios en el orden de las columnas de opciones después de una importación
🔍 WiseChecker

Cómo evitar cambios en el orden de las columnas de opciones después de una importación

Cuando importa datos a una lista de SharePoint, el orden de las opciones de una columna de opciones puede cambiar inesperadamente. Esto ocurre porque el proceso de importación trata los valores de opción como una lista plana y puede reordenarlos alfabéticamente o por ID interno. Este artículo explica por qué cambia el orden y proporciona un método para conservar la secuencia original durante y después de la importación.

La causa principal es que las herramientas de importación de SharePoint, incluidas las importaciones de Excel y CSV, no respetan el orden personalizado que definió en la configuración de la columna. En su lugar, agregan nuevos valores o los ordenan según el origen de datos. Puede evitarlo si prepara correctamente la lista de destino y utiliza un flujo de trabajo de importación específico.

Este artículo cubre la causa técnica, una solución paso a paso con PowerShell y errores comunes que debe evitar. Después de leerlo, podrá importar datos de opciones sin perder el orden de presentación deseado.

Puntos clave: conservar el orden de la columna de opciones al importar

  • Configuración del sitio > Configuración de la lista > Columna de opciones: Defina el orden exacto de las opciones antes de importar cualquier dato.
  • PowerShell con PnP.PowerShell: Use el cmdlet Set-PnPChoiceColumn para reordenar las opciones después de la importación si se pierde el orden.
  • Importación de CSV con asignación de ID: Incluya el ID interno de la opción en el archivo de importación para que coincida con los valores existentes y evitar la reordenación.

ADVERTISEMENT

Por qué cambia el orden de la columna de opciones después de la importación

Las columnas de opciones de SharePoint almacenan las opciones en una secuencia específica que usted define en la configuración de la columna. Cuando importa datos desde Excel o un archivo CSV, el motor de importación no lee el orden existente de la columna. En su lugar, procesa cada fila y agrega nuevas opciones al final de la lista o las ordena alfabéticamente. Este comportamiento es por diseño, ya que la herramienta de importación trata la columna de opciones como un campo de texto simple, no como una lista estructurada con un orden predefinido.

El almacenamiento interno de los valores de opción utiliza una matriz. Cuando se agregan nuevos valores durante la importación, SharePoint reconstruye la matriz y puede ordenarla. La regla de ordenación depende del método de importación:

  • Importación de Excel (importación rápida): Agrega nuevos valores en el orden en que aparecen en la hoja de cálculo. Los valores existentes permanecen en su posición original, pero la lista combinada puede no coincidir con el orden deseado.
  • Importación de CSV (mediante PowerShell o herramientas de terceros): A menudo ordena toda la lista de opciones alfabéticamente después de que finaliza la importación.
  • Herramienta de migración de SharePoint (SPMT): Conserva el orden de la lista de origen solo si el origen es otra lista de SharePoint. Si el origen es un archivo CSV, se comporta como una importación de CSV.

El cambio de orden no es un error. Es un efecto secundario de cómo el proceso de importación maneja los metadatos. Para evitarlo, debe predefinir el orden exacto en la columna de destino y asegurarse de que el archivo de importación solo use valores que ya existan en ese orden.

Requisitos previos para evitar cambios de orden

Antes de comenzar la importación, complete estos pasos:

  • Cree la lista de SharePoint de destino con la columna de opciones ya definida. No cree la columna durante la importación.
  • Establezca las opciones de la columna en el orden exacto en que desea que aparezcan. Vaya a Configuración de la lista > Columna > Columna de opciones > Editar columna. En “Escriba cada opción en una línea separada”, introduzca las opciones en la secuencia deseada. Use las flechas arriba y abajo para reordenarlas.
  • Prepare el archivo de importación (Excel o CSV) para que la columna de opciones contenga solo valores que coincidan con una de las opciones predefinidas. Cualquier valor nuevo que no esté en la lista se agregará al final o provocará un error.

Pasos para conservar el orden de la columna de opciones durante la importación

Siga estos pasos para importar datos sin perder el orden de la columna de opciones. Este método usa Excel para la importación y PowerShell como respaldo si el orden aún cambia.

  1. Defina el orden exacto de las opciones en la lista de destino
    Abra la lista de SharePoint. Haga clic en el icono de engranaje y seleccione Configuración de la lista. Haga clic en el nombre de la columna de opciones. En “Escriba cada opción en una línea separada”, introduzca las opciones en el orden que desee. Haga clic en Guardar. Esto establece el orden de referencia.
  2. Exporte la lista de destino para obtener los ID internos de las opciones
    Si va a importar muchas filas, use PowerShell para exportar los ID internos de la columna de opciones. Ejecute: Get-PnPChoiceColumn -List "YourListName" -Identity "ChoiceColumnName" | Select Choices. Esto devuelve las opciones con sus números de índice internos. El índice comienza en 0. Anote el índice de cada valor de opción.
  3. Prepare el archivo de importación solo con valores existentes
    Abra su archivo de Excel o CSV. En la columna de opciones, reemplace cualquier valor nuevo o mal escrito con el texto exacto de la lista predefinida. No agregue valores nuevos. Guarde el archivo como .xlsx o .csv.
  4. Importe el archivo con la importación rápida de SharePoint
    En la lista de destino, haga clic en Edición rápida (vista de cuadrícula) o use la opción Importar desde Excel. Pegue o cargue los datos. SharePoint hará coincidir los valores de opción con las opciones de columna existentes y mantendrá el orden intacto porque no se agregan valores nuevos.
  5. Si el orden aún cambia, ejecute una corrección con PowerShell
    Conéctese a SharePoint con PnP.PowerShell: Connect-PnPOnline -Url https://yourtenant.sharepoint.com/sites/yoursite. Luego ejecute: Set-PnPChoiceColumn -List "YourListName" -Identity "ChoiceColumnName" -Choices @("FirstChoice","SecondChoice","ThirdChoice"). Reemplace la matriz con su orden exacto. Esto restablece el orden sin afectar los datos existentes.

Método alternativo: usar una columna de búsqueda en su lugar

Si importa datos con frecuencia y necesita un control estricto del orden, considere reemplazar la columna de opciones por una columna de búsqueda que haga referencia a una lista de opciones independiente. La columna de búsqueda siempre muestra los elementos en el orden definido en la lista de origen. Cree una lista llamada “ChoiceOptions” con una sola columna de texto. Agregue las opciones en el orden deseado. En su lista principal, agregue una columna de búsqueda que apunte a ChoiceOptions. Durante la importación, asigne los valores de opción a los ID de búsqueda. Este método evita cualquier reordenación porque el orden de búsqueda está vinculado a la lista de origen.

ADVERTISEMENT

Errores comunes y limitaciones

El archivo de importación contiene nuevos valores de opción que no están en la lista de destino

Si su archivo de importación incluye un valor de opción que no existe en la columna de destino, SharePoint lo agrega al final de la lista. Esto desplaza el orden de todos los valores posteriores. Para solucionarlo, elimine el nuevo valor de la configuración de la columna después de la importación, o ejecute la corrección de PowerShell para restaurar el orden original.

Uso de la Herramienta de migración de SharePoint con un origen CSV

La Herramienta de migración de SharePoint (SPMT) no conserva el orden de las opciones cuando el origen es un archivo CSV. Trata la columna de opciones como texto sin formato y agrega valores en el orden en que aparecen en el CSV. Para evitarlo, convierta primero el CSV en una lista de SharePoint y luego use SPMT para migrar la lista a otro sitio. La migración de lista a lista conserva el orden.

Columna de opciones con “Permitir opciones de relleno” habilitado

Cuando “Permitir opciones de relleno” está activado, los usuarios pueden escribir valores personalizados. Durante la importación, estos valores personalizados se tratan como nuevas opciones y se agregan a la lista. Para evitar cambios de orden, desactive esta configuración antes de la importación. Vaya a Configuración de la lista > Columna > Columna de opciones > Editar columna. Desmarque “Permitir opciones de relleno”. Importe los datos. Vuelva a habilitar la configuración si es necesario.

Permisos de PowerShell necesarios

El cmdlet Set-PnPChoiceColumn requiere al menos permisos de Edición en la lista. Si recibe un error de acceso denegado, pida a su administrador de SharePoint que le conceda los permisos necesarios o ejecute el script desde una cuenta de administrador.

Comparación de métodos para conservar el orden de la columna de opciones

Elemento Predefinir orden + importar valores existentes Restablecimiento con PowerShell después de la importación Alternativa de columna de búsqueda
Esfuerzo Bajo — requiere una preparación cuidadosa del archivo Medio — requiere conocimientos de PowerShell Alto — requiere crear una lista independiente
Fiabilidad del orden Alta si no se introducen valores nuevos Muy alta — restablece el orden exactamente Muy alta — el orden está vinculado a la lista de origen
Ideal para Importaciones únicas con datos limpios Importaciones recurrentes donde el orden cambia Importaciones frecuentes con opciones dinámicas
Limitación No maneja valores nuevos Requiere permisos de administrador Agrega complejidad a la estructura de la lista

Después de leer este artículo, podrá importar datos en columnas de opciones de SharePoint sin perder el orden de presentación deseado. Comience definiendo la secuencia exacta de opciones en la lista de destino antes de cualquier importación. Si el orden cambia a pesar de su preparación, ejecute el cmdlet de PowerShell Set-PnPChoiceColumn para restaurarlo. Para importaciones continuas, considere reemplazar la columna de opciones por una columna de búsqueda para un control del orden más fiable. Como sugerencia avanzada, use el índice interno de la opción en su archivo de importación para asignar valores directamente y evitar cualquier reordenación.

ADVERTISEMENT