레포트를 엑셀로 내보내기시 칸이 맞지 않아 고민중.. 

아래 코드를 찾아서 엑셀 내보내기일 경우 다시 레포트를 다시 생성해서 내보내도록 수정했다.

 

아래 코드는 문서 내보내기 형식이 xls 파일인 경우, 파일저장 창을 띄우는 예제임

namespace WindowsApplication1 {
    public partial class Form1 : Form {
        public Form1() {
            InitializeComponent();
        }


        private void simpleButton1_Click(object sender, EventArgs e) {
            // Create a report object.
            // Create a report instance, assigned to a Print Tool.
            ReportPrintTool pt = new ReportPrintTool(new XtraReport1());

            // Generate the report's document. This step is required
            // to activate its PrintingSystem and access it later.
            pt.Report.CreateDocument(false);
            // Override the ExportGraphic command.
            pt.PrintingSystem.AddCommandHandler(new ExportToExcelCommandHandler());

            // Show the report's print preview.
            pt.ShowPreviewDialog();

        }
    }

    public class ExportToExcelCommandHandler : ICommandHandler {
        public virtual void HandleCommand(PrintingSystemCommand command, object[] args, IPrintControl control, ref bool handled) {
            if (!CanHandleCommand(command, control))
                return;

            XtraReport1 report = new XtraReport1();
            Stream myStream;
            report.Parameters["IsExporting"].Value = true;
            SaveFileDialog saveFileDialog1 = new SaveFileDialog();

            saveFileDialog1.Filter = "Excel files (*.xls)|*.xls|All files (*.*)|*.*";
            saveFileDialog1.FilterIndex = 2;
            saveFileDialog1.RestoreDirectory = true;

            if (saveFileDialog1.ShowDialog() == DialogResult.OK) {
                if ((myStream = saveFileDialog1.OpenFile()) != null) {
                    report.ExportToXls(myStream);

                    myStream.Close();
                }
            } 


            // Set handled to true to avoid the standard exporting procedure to be called.
            handled = true;
        }

        public virtual bool CanHandleCommand(PrintingSystemCommand command, IPrintControl control) {
            // This handler is used for the ExportXls command.
            return command == PrintingSystemCommand.ExportXls;
        }
    }

}

* 원문 : https://www.devexpress.com/Support/Center/Example/Details/E1159

반응형


윈도우8.1 에서 데브 컨트롤 사용시 한글입력이 제대로 되지 않는 문제가 발생한다.


한글 입력이 완료 (엔터나 스페이스 또는 방향키 입력)되지 않은 상태에서

다른 컨트롤로 포커스를 이동하면 마지막 글자가 잘리거나 혹은 입력된 한글이 지워지는 문제가 발생한다.


이럴떄 해결 방법은 ....


subsystem version 을 수정해서 컴파일 하면 문제없이 동작한다.



방법 :

csproj/vbproj 파일 열어서


  <PropertyGroup>
    <SubsystemVersion>5.01</SubsystemVersion>
  </PropertyGroup>


 
태그를 추가해주고 컴파일하면 끝~!



자세한 내용은 아래 URL을 참고

http://www.devexpress.com/Support/Center/Question/Details/Q570706



반응형

+ Recent posts