CAFE

25기 2조

[예광탄][2조 이후용] Xml로 Word와 Excel 차트 만들기

작성자25기 이후용|작성시간13.06.05|조회수709 목록 댓글 0

Office Automation

작성일 :

13/05/28

Xml 데이터를 이용하여 Word Excel차트 만들기

작성자 :

이후용

 

 

 

1. 실행 화면

 

 

[Word변환 프로그램과 Excel변환 프로그램 실행 후 차트만들 지역 입력]

[Xml Word로 변환 시]

[XmlExcel로 변환 시]

 

 

2. 차트로 변환 결과

- Word로 변환 시에는 큰 문제가 없었다.

- Excel로 변환 시 Excel문서의 cell에 데이터를 표시한 후 그 데이터들을 범위로 묶어서 차트로 표현 되기 때문에 위와 같이 Xml에 있는 Data를 표시하게 되었다.

3. 할 것

  - 보고서 양식을 찾아보고 그 형식에 맞춰 Word Excel의 보고서를 만들 것이다.

 

4. 코드 설명

 

  - [DB를 Word로 변환] 하는 부분과 비슷하다.

  -Excel부분..

 

// DB의 데이터를 꺼내어 Xml로 변환하는부분.

XmlDocument xmlDoc = new XmlDocument();
string addr = "SampleData.xml";//@C:\Users\mycom\Desktop\DBXml\XmlWord\bin\Debug\avgs.xml
xmlDoc.Load(addr);

XmlNode xmlNode = xmlDoc.SelectSingleNode("NewDataSet");
XmlNodeList xnl = xmlNode.SelectNodes("Average");
string ad = "";
double total = 0;
double dust = 0;
double ozone = 0;
foreach (XmlNode x in xnl)
{
    ad = x.SelectSingleNode("Addr").InnerText;

    if (ad == textBox1.Text)
    {
        total = double.Parse(x.SelectSingleNode("total").InnerText);
        dust = double.Parse(x.SelectSingleNode("dust").InnerText);
        ozone = double.Parse(x.SelectSingleNode("ozone").InnerText);
    }
}
 

 

// Xml의 데이터를 Excel에넣어 차트 만드는 부분

excelApp = new MyExcel.ApplicationClass();
excelBook = excelApp.Workbooks.Add(misValue);
excelSheet = (MyExcel.Worksheet)excelBook.Worksheets.get_Item(1);
excelApp.Visible = true;

excelChartObjs = (MyExcel.ChartObjects)excelSheet.ChartObjects(misValue);
excelChartObj = (MyExcel.ChartObject)excelChartObjs.Add(10, 80, 300, 300);

excelChart = excelChartObj.Chart;

excelRange = excelSheet.get_Range("A1", "B4");
excelChart.SetSourceData(excelApp.Range["A1", "B4"], MyExcel.XlRowCol.xlColumns);
excelChart.ChartType = MyExcel.XlChartType.xl3DColumnClustered;

excelAxis = (MyExcel.Axis)excelChart.Axes(MyExcel.XlAxisType.xlValue, MyExcel.XlAxisGroup.xlPrimary);
excelAxis.HasTitle = true;
excelAxis.AxisTitle.Text = "오염도";
excelAxis.AxisTitle.HorizontalAlignment = true;

//강원 강릉시 옥천동 327-2(옥천동주민센터)

excelSheet.Cells[1, 1] = "";
excelSheet.Cells[2, 1] = "total";
excelSheet.Cells[3, 1] = "dust";
excelSheet.Cells[4, 1] = "ozone";

 

excelSheet.Cells[1, 2] = textBox1.Text;
excelSheet.Cells[2, 2] = total;
excelSheet.Cells[3, 2] = dust;
excelSheet.Cells[4, 2] = ozone;

  

 

 

 

다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
맨위로

카페 검색

카페 검색어 입력폼