2013-05-02 1 views
1

"스프레드 시트"루비 보석을 사용하여 xls 파일을 생성합니다.

xls 파일을 읽고 초기 데이터를 잃지 않고 다시 내보내기

나는 이미 XLS 파일을 여러 장 포함 "MyFile.xls"이 있습니다 sh_01, sh_02을 sh_03 ... 나는라는 새로운 시트를 마지막 시트 (sh_last_number)의 이름을 읽고 추가 할 "sh_last_number을 +1 "이 파일 (MyFile.xls) 및 일부 데이터를 쓸 수 있습니다.
다른 말로하면, 나는 그것을 열어 (데이터 읽기) 동시에 그것을 써야한다.

이 아이디어를 스프레드 시트로 구현할 수 없다면 다른 보석이 더 효율적입니까?

미리 감사드립니다.

답변

0

스프레드 시트 젬으로 확실히 할 수 있습니다. 당신은 엑셀 파일로 작업하고 있기 때문에 당신이 이전 버전을 사용하는 경우, 당신은 보석의 엑셀 구성 요소를 필요로 할 수도 있습니다 :

require 'spreadsheet' # You may need to require 'spreadsheet/excel' 

그런 다음 작업 및 페이지를 작성하는 것은 간단하다. 이 도움이

new_sheet = "sh_#{@workbook.worksheets.size + 1}" 
@worksheet = @workbook.create_worksheet(:name => new_sheet) 

희망을 : 당신은 단순히 당신이 연 통합 문서에 시트를 추가 한 후

@workbook = Spreadsheet.open("MyFile.xls") 

그리고 : 당신이 그런 짓을 통합 문서 (여러 페이지로 XLS 파일)을 열려면 .

건배 숀

+0

감사 숀, 오류 => undefined_method create_worksheet 발생 하였다. 나는 다른 예제를 벗어나 데이터 만 읽을 수 있었고 글을 쓰거나 다른 시트를 추가 할 수 없었다. –

+0

이상한 ... irb에서 테스트 한 결과 나에게 효과가 있었다. 이전 버전의 보석을 사용하고 있습니까? 어쩌면 시도해보십시오 : @worksheet = @ workbook.add_worksheet ("test") – Sean

+0

이전 버전의 gem을 사용하는 경우 'spreadsheet/excel'을 입력 한 다음 @workheet = @ workbook.add_worksheet ("test")를 입력하십시오. – Sean

관련 문제