C#下面调用 Excel 另存代码

excel

private void btnSaveAsData_Click(object sender, EventArgs e)
        {
            Excel.Application xlsApp = new Excel.Application();
            Excel._Workbook xlsBook = xlsApp.Workbooks.Add(Excel.XlWBATemplate.xlWBATWorksheet);
            Excel._Worksheet xlsSheet = (Excel._Worksheet)xlsBook.Worksheets[1];
            xlsSheet.Activate();

            xlsApp.Caption = lblDMMC.Text + "断面实测成果表 - 另存为 ";

            DataTable myDT1, myDT2;

            myDT1 = datatable(a,a1);
            myDT2 = datatable(a,a1);
           double minGaocheng = 0;//Get_min(a1);

            string[] strColName = new string[] { "起点距m", "河底高程m", "起点距m", "河底高程m", "起点距m", "河底高程m", "起点距m", "河底高程m", "起点距m", "河底高程m", "起点距m", "河底高程m", "" };
            int intCols = strColName.Length - 1;
            int intRows = myDT1.Rows.Count;

            int[] intRows1 = new int[myDT1.Rows.Count];
            int[] intcols1 = new int[myDT1.Columns.Count];

            int minrow = 0;
            int mincol = 0;
            int zhanyonghang = 3;
            xlsSheet.Cells[2, 7] = lblDMMC.Text + "断面实测成果表";
            xlsSheet.Cells[zhanyonghang+2, intCols + 1] = "制";
            xlsSheet.Cells[zhanyonghang + 3, intCols + 1] = "表";
            xlsSheet.Cells[zhanyonghang + 4, intCols + 1] = ":";
            xlsSheet.Cells[zhanyonghang + 7, intCols + 1] = "一";
            xlsSheet.Cells[zhanyonghang + 8, intCols + 1] = "校";
            xlsSheet.Cells[zhanyonghang + 9, intCols + 1] = ":";
            xlsSheet.Cells[zhanyonghang + 12, intCols + 1] = "二";
            xlsSheet.Cells[zhanyonghang + 13, intCols + 1] = "校";
            xlsSheet.Cells[zhanyonghang + 14, intCols + 1] = ":";
            xlsSheet.Cells[zhanyonghang + 17, intCols + 1] = "验";
            xlsSheet.Cells[zhanyonghang + 18, intCols + 1] = "收";
            xlsSheet.Cells[zhanyonghang + 19, intCols + 1] = ":";
            xlsSheet.Cells[zhanyonghang + 1, 3] = "施测日期:" + dtpS3.Text;
            xlsSheet.Cells[zhanyonghang + 1, 7] = "测探工具:测探杆 ";
            xlsSheet.Cells[zhanyonghang + 1, 10] = "水位:" + txtS4.Text + "m";
            // xlsSheet.Cells[1, intCols] = "制表:";
            for (int j = 0; j < intCols; j++)
            {
                xlsSheet.Cells[zhanyonghang + 2, j + 1] = strColName[j];
            }
            int tempi = 1;

            for (int i = 0; i < intRows; i++)
            {
                for (int j = 0; j < intCols; j++)
                {
                    if (i == temprows2 && j == tempcols2)
                    {
                        myDT1.Rows[i][j] = myDT1.Rows[i][j].ToString() + "▲";
                    }

                    if (i == temprows1 && j == tempcols1)
                    {
                        myDT1.Rows[i][j] = myDT1.Rows[i][j].ToString() + "▼";
                    }
                    xlsApp.Cells[zhanyonghang + i + 3, j + 1] = myDT1.Rows[i][j];
                }
            }

            xlsSheet.Cells[zhanyonghang + intRows + 3,6] = "附注:" + txtFuzhu.Text;
            xlsSheet.Columns.ColumnWidth = 9;
            xlsSheet.get_Range(xlsSheet.Cells[zhanyonghang + 2, intCols + 1], xlsSheet.Cells[zhanyonghang + intRows + 2, intCols + 1]).ColumnWidth = 3;

            xlsSheet.Rows.RowHeight = 18;
            xlsSheet.get_Range(xlsSheet.Cells[zhanyonghang + 2, 1], xlsSheet.Cells[zhanyonghang + 2, intCols]).RowHeight = 15;

            xlsSheet.Cells.Font.Name = "宋体";
            xlsSheet.Cells.Font.Size = 10;
            xlsSheet.Cells.Font.Bold = false;
            xlsSheet.Cells.WrapText = false;
            xlsSheet.get_Range(xlsSheet.Cells[ 2, 1], xlsSheet.Cells[ 2, intCols]).Font.Size = 15;

            xlsSheet.get_Range(xlsSheet.Cells[zhanyonghang + 2, 1], xlsSheet.Cells[zhanyonghang + 2, intCols]).Font.Name = "宋体";
            xlsSheet.get_Range(xlsSheet.Cells[zhanyonghang + 2, 1], xlsSheet.Cells[zhanyonghang + 2, intCols]).Font.Size = 10;
            xlsSheet.get_Range(xlsSheet.Cells[zhanyonghang + 2, 1], xlsSheet.Cells[zhanyonghang + 2, intCols]).Font.Bold = true;
            xlsSheet.get_Range(xlsSheet.Cells[zhanyonghang + 2, 1], xlsSheet.Cells[zhanyonghang + 2, intCols]).WrapText = false;

            xlsSheet.get_Range(xlsSheet.Cells[zhanyonghang + temprows3 + 3, tempcols3], xlsSheet.Cells[zhanyonghang + temprows3 + 3, tempcols3 + 1]).Font.Underline = true;  

            for (int i = 0; i < myDT2.Rows.Count; i++)
            {
                for (int j = 0; j < myDT2.Columns.Count; j++)
                {
                    double temp1;
                    if (myDT2.Rows[i][j].ToString() == "")
                    {
                        temp1 = 0.123456;
                    }
                    else
                    {
                        temp1 = Convert.ToDouble(myDT2.Rows[i][j].ToString());
                    }

                    if (j % 2 == 0)
                    {
                        if (temp1 == 0)
                        {
                            xlsSheet.Cells[zhanyonghang + i + 3, j + 1] = 0;
                        }
                        else if (temp1 == 0.123456)
                        {
                            xlsSheet.Cells[i + 3, j + 1] = "";
                        }
                        else
                        {
                            xlsSheet.get_Range(xlsSheet.Cells[zhanyonghang + i + 3, j + 1], xlsSheet.Cells[zhanyonghang + i + 3, j + 1]).NumberFormatLocal = "#####";
                        }
                    }
                    else
                    {
                        if (temp1 > 9)
                        {
                            xlsSheet.get_Range(xlsSheet.Cells[zhanyonghang + i + 3, j + 1], xlsSheet.Cells[zhanyonghang + i + 3, j + 1]).NumberFormatLocal = "#####.0";
                        }
                    }
                }
            }
            // xlsSheet.get_Range(xlsSheet.Cells[3, 6], xlsSheet.Cells[3, 6]).NumberFormatLocal = "#####.0";
            //xlsSheet.get_Range(xlsSheet.Cells[3, 4], xlsSheet.Cells[intRows + 2, 4]).NumberFormatLocal = "#####.0";
            //xlsSheet.get_Range(xlsSheet.Cells[3, 6], xlsSheet.Cells[intRows + 2, 6]).NumberFormatLocal = "#####.0";
            //xlsSheet.get_Range(xlsSheet.Cells[3, 8], xlsSheet.Cells[intRows + 2, 8]).NumberFormatLocal = "#####.0";
            //xlsSheet.get_Range(xlsSheet.Cells[3, 10], xlsSheet.Cells[intRows + 2, 10]).NumberFormatLocal = "#####.0";
            //xlsSheet.get_Range(xlsSheet.Cells[3, 12], xlsSheet.Cells[intRows + 2, 12]).NumberFormatLocal = "#####.0";

            xlsSheet.Columns.VerticalAlignment = Excel.XlVAlign.xlVAlignCenter;
            xlsSheet.Columns.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
            xlsSheet.get_Range(xlsSheet.Cells[zhanyonghang + 1, intCols], xlsSheet.Cells[zhanyonghang + 1, intCols]).HorizontalAlignment = Excel.XlHAlign.xlHAlignRight;

            xlsSheet.get_Range(xlsSheet.Cells[zhanyonghang + 2, 1], xlsSheet.Cells[zhanyonghang + intRows + 2, intCols]).Borders.LineStyle = Excel.XlLineStyle.xlContinuous;
            xlsSheet.get_Range(xlsSheet.Cells[zhanyonghang + 2, 1], xlsSheet.Cells[zhanyonghang + intRows + 2, intCols]).Borders.Weight = Excel.XlBorderWeight.xlThin;

            string FileName = xlsApp.GetSaveAsFilename("断面实测成果表 .xls", "Excel文件 (*.xls), *.xls", 1, "断面实测成果表", "断面实测成果表").ToString().Trim();
            if (FileName != "False" && FileName != "")
            {
                xlsSheet.SaveAs(FileName, Excel.XlFileFormat.xlExcel9795, "", "", false, false, false, 1, 1, true);
            }
            xlsBook.Saved = true;
            xlsApp.Workbooks.Close();
            xlsApp.Quit();
        } 

时间: 2024-09-27 22:44:42

C#下面调用 Excel 另存代码的相关文章

我调用excel 打开jsp页面,jsp代码打开会出现下载excel文件 ,怎么控制excel 打印时为默认为横向

问题描述 我调用excel打开jsp页面,jsp代码打开会出现下载excel文件,怎么控制excel打印时为默认为横向

以前收集的一些资料---如何在ASP中通过ODBC调用Excel中的数据

excel|odbc|数据                如何在ASP中通过ODBC调用Excel中的数据    在ASP中通过ODBC调用Excel中的数据方式和普通的通过ODBC调用数据库的方式有一些不同的地方.下面将介绍如何通过ODBC在ASP中使用Excel的数据.    在使用的过程中,要注意的是你需要使用的ODBC驱动为:Microsoft ODBC Driver for Excel. 下面给出一个例子来具体说明如何调用的过程:1.在Excel的电子表格中新建一个叫Range的表单a

如何在ASP中通过ODBC调用Excel中的数据

excel|odbc|数据 http://www.chinaasp.com/ 在ASP中通过ODBC调用Excel中的数据方式和普通的通过ODBC调用数据库的方式有一些不同的地方.下面将介绍如何通过ODBC在ASP中使用Excel的数据. 在使用的过程中,要注意的是你需要使用的ODBC驱动为:Microsoft ODBC Driver for Excel. 下面给出一个例子来具体说明如何调用的过程:1.在Excel的电子表格中新建一个叫Range的表单a)在Excel文件ADOtest.xls中

请教C#,Form窗口的一个Button,调用Excel导出表格时出错

问题描述 请教C#,Form窗口的一个Button,调用Excel导出表格时出错 一个调用Excel导出表的操作,出错.请熟悉excel调用的高手指教. 相关代码: private void button1_Click(object sender, EventArgs e) { saveFileDialog1.AddExtension = true;//对话框自动在文件名中添加扩展名 saveFileDialog1.FileName = name+"与"+name1+"担保信

调用excel画图保存的问题

问题描述 调用excel画图,图保存为jpg图片格式,载入picturebox显示一个Button下面:xChart=xlBook.Charts.AddWithxChart.SeriesCollection.NewSeries().SeriesCollection(2).xvalues=fx.SeriesCollection(2).values=f2.ChartType=Excel.XlChartType.xlLineMarkersEndWithxChart.Export(Application

Coolite优化导出Excel文件实现代码_实用技巧

1.先来张图: 导出前数据: 导出结果: 设置列宽和屏蔽栏位: 结果2: 2.先把脚本文件定义了. 复制代码 代码如下: //Copyright 2009 无忧lwz0721@gmail.com var gridElse = { getJsonToHidden: function(hidden, grid, format, title, fileName) { hidden.setValue(this.getJsonDate(grid, format, title, fileName)); gr

实现easyui的datagrid导出为excel的示例代码_jquery

之前有介绍过如何实现easyui里datagrid内容的打印,今天给大家介绍下如何实现datagrid内容导出为excel文件.以下为代码实现: export.js function ChangeToTable(printDatagrid) { var tableString = '<table cellspacing="0" class="pb">'; var frozenColumns = printDatagrid.datagrid("o

hkkk-php如何调用c,执行代码啃你冷静本末586651咯做嗯哦哦

问题描述 php如何调用c,执行代码啃你冷静本末586651咯做嗯哦哦 想在php执行c,这个也忒不好弄了,骗人呀,54895155痛阿东今年冷漠

在ASP中调用Excel画数据图表

excel|数据|图表 在ASP中调用Excel画数据图表,优势有很多,最突出的是可以输出多种形式的图形(总共有72种).以下是我写的一个通用ASP方法调用Excel画数据图表. <%'将数据图形化输出'dataArray二维数组'virtualFilePath输出图像文件名(虚拟路径)'nType显示类型Dim initTypeSub ExportPicture(dataArray,virtualFilePath,nType)Dim excelapp ' As New excel.Applic