트레이닝 센터

리포트 생성과 문서 변환

C1을 사용한 응용프로그램과 Excel소프트웨어의 호환 방법

본문에서는 C1을 사용하여 Excel소프트웨어와 호환하는 방법을 소개합니다.

Microsoft Excel을 설치할 필요 없이C1의 간단한 명령으로 작업노트, 작업 테이블을 불러올 수 있습니다. 그리고, 작업노트를 Excel파일로 저장합니다. C1XLBook의 과정을 사용하는 대상은 코드에서 파악한 Excel파일입니다. 어떤 데이터라도 응용하여 Excel로 전환할 수 있습니다. OpenXML양식은 더 작거나 압축된 XLSX파일을 지원하고 저장합니다.

본문의 Demo에서는 C1XLBook로 Excel을 가져와 C1Chart의 데이터 소스로 만듭니다. 실행 시, 왼쪽 패널에서 각기 다른 Excel파일을 선택하여 C1XLBook에 들여보내 데이터를 읽어오도록 합니다. 결과는 다음과 같습니다. :



위의 기능을 실현하고자 한다면 Excel로부터 데이터를 읽어와야 합니다. 다음과 같은 방법으로 실행 가능합니다.

먼저, 도구상자에서 C1XLBook을 드래그하거나 만듭니다. C1XLBook에서 Excel 작업노트를 로딩하거나 만듭니다.

C1XLBook _xlBook = new C1XLBook();

_xlBook.Load(AppDomain.CurrentDomain.BaseDirectory+ filename);

이어서, C1XLBook에 Excel을 로딩하면 작업테이블의 데이터를 엑세스 할 수 있습니다. 이 데이터들은 행, 열 및 유닛 셀로 구성된 간단한 시트입니다. 본문 Demo에서 필요한 데이터는 네 개입니다. : 전도, 압력, 온도, ph, 조작 유닛 셀이 얻은 데이터의 코드는 다음과 같습니다. :


DrillDataPoints GetChartData(C1XLBook book)
        {
            // Get first sheet
            var sheet = book.Sheets[0];

            // Get location, date, and cell count
            var location = sheet[1, 1].Value as string;
            var date = (DateTime)sheet[2, 1].Value;
            var count = sheet.Rows.Count - 5;
            label.Text = string.Format("{0}, {1} points", location, count);

            // Get values into arrays for charting
            var drillData = new DrillDataPoints(count);
            for (int r = 0; r < count; r++)
            {
                drillData.Temperature[r] = (double)sheet[r + 5, 1].Value;
                drillData.Pressure[r] = (double)sheet[r + 5, 2].Value;
                drillData.Conductivity[r] = (double)sheet[r + 5, 3].Value;
                drillData.Ph[r] = (double)sheet[r + 5, 4].Value;
                drillData.Depth[r] = r;
            }
            drillData.ScaleValues();

            // Send data to chart
            return drillData;
        }

XLS 파일이나 XLSX파일을 내보낼 수도 있습니다. C1XLBook을 사용하여 Excel 버전과 호환되는 보고서를 생성 할 수 있는 C1Chart 컨트롤입니다.

내보내기 방법은 다음과 같습니다. :

//   fileName:	Name of the file to save.
        //   stream:	System.IO.Stream where the worksheet is saved.
        //   format:    C1.C1Excel.C1XLBook.FileFormat value that specifies the format to save 	//		the worksheet in.
//     Saves the worksheet into a stream.
        public void Save(Stream stream);
        //
	//     Saves the worksheet to a file.
        public void Save(string fileName);
        //
        
        //     Saves the worksheet into a stream.
        public void Save(Stream stream, FileFormat format);
        //
        //     Saves the worksheet to a file.
        public void Save(string fileName, FileFormat format);

본문 Demo의 소스코드는 다음과 같습니다. :


샘플 다운로드



한국 그레이프시티 공식카페에서 기술지원을 받으실 수 있습니다.
이메일을 통해서도 기술지원을 받으실 수 있습니다.