2012-06-01 68 views
5

Estoy usando Microsoft Interop para convertir archivos de Excel en archivos csv. Yo uso la función sheet.SaveAs.Cómo eliminar filas o columnas vacías finales

Mi hoja de Excel inicial tiene datos de A1 a columnas AZ para 100 filas. Necesito en el CSV solo los datos de A1 a AP y solo para 50 filas.

Utilizando la función Rango, elimino la fila 51-100, borro el contenido para las mismas filas, aún cuando guardo como CSV, encuentro las filas 51-100 como a continuación: (solo comas). No quiero ver estas comas en CSV.

,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,, ,,,,

Lo mismo para la columna AQ-AZ también. No quiero estos datos en CSV. Borro, borro contenido usando la función Rango, sin embargo estas columnas AQ-AZ aparecen en archivos CSV como ",,,,,,,,,,,,,,,,,,,,,".

¿Hay alguna manera de guardar XLS como CSV con el Rango único que quiero ver en el archivo CSV? ¿Hay alguna manera de controlar el rango que va en el archivo CSV?

En resumen, quiero ver en el archivo CSV solo los datos de la columna A1 a AP para 50 filas. Sin seguimiento en blanco "," s ". ¿Hay alguna manera?

Respuesta

3

El problema que está describiendo parece ser un problema de "Última célula". La última celda es el final original de sus datos, incluso después de eliminar las filas/columnas.

Esto es lo que Microsoft tiene que decir al respecto: How to reset the last cell in Excel

Creo recordar una manera programática de hacer esto, pero para la vida de mí, no puedo recordar cómo.

Después de haber examinado esa información, tal vez podría replantearse cómo puede hacerlo.

Quizás pueda simplemente leer los datos que necesita y escribirlos usted mismo.

es decir, para cada fila en el rango, conseguir la fila como un valor que va a ser una matriz de objeto, convertido al array de cadenas, string.join con el delimitador como una coma y anexar a un archivo .csv.

+0

Eso funcionó para mí. Solo seleccioné las columnas vacías y luego, en el menú Borrar, seleccioné Todas. – wsams

+0

@wsams que no me funcionó, lo que sí funcionó fue copiar las columnas pobladas en una nueva hoja de trabajo y sobrescribir el archivo CSV anterior. –

0

Simplemente seleccione las columnas vacías finales en Excel, haga clic con el botón derecho y seleccione: borrar contenido. Entonces guarda.

1

Borrar el contenido como se sugirió en otra respuesta no funcionó para mí, lo que sí funcionó fue copiar las columnas pobladas en una nueva hoja de cálculo y sobrescribir el CSV anterior.