2012-06-01 5 views
5

Microsoft Interop을 사용하여 Excel 파일을 CSV 파일로 변환하려고합니다. 나는 sheet.SaveAs 함수를 사용한다.후행 빈 행/열을 제거하는 방법

필자의 초기 엑셀 시트는 A1 행부터 AZ 열까지의 데이터를 100 행으로 가지고 있습니다. CSV에는 A1에서 AP까지의 데이터와 50 행만 필요합니다.

Range 함수를 사용하여 row51-100을 삭제하고 같은 행의 내용을 지우고 CSV로 저장할 때 아래 51-100 행을 찾습니다 (쉼표 만). CSV에서 이러한 쉼표를보고 싶지 않습니다.

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

AQ-AZ 열에 대해서도 동일합니다. CSV로 이러한 데이터를 원하지 않습니다. 범위 기능을 사용하여 내용을 지우고 지우지 만 CSV 파일에는 이러한 AQ-AZ 열이 ",,,,,,,,,,,,,,,,,,,,"으로 표시됩니다.

XLS를 CSV로 저장하는 방법은 CSV 파일에서보고자하는 범위 만 있습니다. CSV 파일로 들어가는 범위를 제어하는 ​​방법이 있습니까?

즉, CSV 파일에서 A1 행의 데이터를 50 행으로보고 싶습니다. 비어있는 후행 없음 ","s. 방법이 있습니까?

답변

3

설명하는 문제는 "마지막 셀"문제처럼 보입니다. 마지막 셀은 행/열을 삭제 한 후에도 데이터의 원래 끝입니다. How to reset the last cell in Excel

내가이 일을 프로그래밍 방법을 기억하는 것,하지만 내 인생, 내가 어떻게 회수 할 수 없습니다 : 여기

는 마이크로 소프트가에 대해 언급하고있는 부분이다.

해당 정보를 살펴본 결과 어떻게 할 수 있는지 다시 생각해 볼 수 있습니다.

아마 당신은 당신이 필요로하는 데이터를 읽고 그것을 스스로 쓸 수 있습니다. 범위의 각 행

즉, 콤마로 분리하여 개체의 배열, 스트링의 배열 변환, string.join하고 .csv 파일로 를 추가하는 값으로 열을 얻는다.

+0

나를 위해 일했습니다. 그냥 빈 열을 선택한 다음 지우기 메뉴에서 모두를 선택했습니다. – wsams

+0

@wsams가 작동하지 않으면 작동 한 것은 새 워크 시트에 채워진 열을 복사하고 이전 CSV 파일을 덮어 쓰는 것입니다. –

0

Excel에서 후행 빈 열을 선택하고 마우스 오른쪽 버튼으로 클릭 한 다음 내용을 선택하십시오. 그런 다음 저장하십시오.

1

다른 답변에서 제안 된대로 내용을 지우는 것이 효과적이지 않았습니다. 새 워크 시트에 채워진 열을 복사하고 이전 CSV를 덮어 쓰는 것이 효과가있었습니다.

관련 문제