日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Excel Chart

發(fā)布時(shí)間:2025/3/14 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Excel Chart 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

using System.IO;
using System.Runtime.InteropServices;
using Excel = Microsoft.Office.Interop.Excel;

?

private void Btn_Click(object sender, EventArgs e)
{

????????//創(chuàng)建一個(gè)EXCEL文檔

????????CreateExcel("標(biāo)題","文檔.XLS", "工作表名");

}

private void CreateExcel(string title,??string fileName, string sheetNames)
{
????????????//待生成的文件名稱
????????????string FileName = fileName;
????????????string FilePath = strCurrentPath + FileName;

????????????FileInfo fi = new FileInfo(FilePath);
????????????if (fi.Exists)?????//判斷文件是否已經(jīng)存在,如果存在就刪除!
????????????{
????????????????fi.Delete();
????????????}
????????????if (sheetNames != null && sheetNames != "")
????????????{
????????????????Excel.Application?m_Excel = new Excel.Application();//創(chuàng)建一個(gè)Excel對(duì)象(同時(shí)啟動(dòng)EXCEL.EXE進(jìn)程)
????????????????m_Excel.SheetsInNewWorkbook = 1;//工作表的個(gè)數(shù)
????????????????Excel._Workbook m_Book = (Excel._Workbook)(m_Excel.Workbooks.Add(Missing.Value));//添加新工作簿
????????????????Excel._Worksheet m_Sheet;?


????????????????#region 處理

????????????????DataSet ds= ScData.ListData("exec Vote_2008.dbo.P_VoteResult_Update " + int.Parse(fdate));
????????????????if (ds.Tables.Count<= 0)
????????????????{
????????????????????????MessageBox.Show("沒(méi)有最新數(shù)據(jù)!");
????????????????????????return;
?????????????????}
?????????????????DataTableToSheet(title,??ds.Tables[0], m_Sheet, m_Book, 0);
????????????????#endregion

?

????????????????#region 保存Excel,清除進(jìn)程
????????????????m_Book.SaveAs(FilePath, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value,???Excel.XlSaveAsAccessMode.xlNoChange, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
????????????????//m_Excel.ActiveWorkbook._SaveAs(FilePath, Excel.XlFileFormat.xlExcel9795, null, null, false, false, Excel.XlSaveAsAccessMode.xlNoChange, null, null, null, null, null);
????????????????m_Book.Close(false, Missing.Value, Missing.Value);
????????????????m_Excel.Quit();
????????????????System.Runtime.InteropServices.Marshal.ReleaseComObject(m_Book);
????????????????System.Runtime.InteropServices.Marshal.ReleaseComObject(m_Excel);

????????????????m_Book = null;
????????????????m_Sheet = null;
????????????????m_Excel = null;
????????????????GC.Collect();
????????????????//this.Close();//關(guān)閉窗體

????????????????#endregion
????????????}
???}

????????#region 將DataTable中的數(shù)據(jù)寫到Excel的指定Sheet中
????????/// <summary>
????????/// 將DataTable中的數(shù)據(jù)寫到Excel的指定Sheet中
????????/// </summary>
????????/// <param name="dt"></param>
????????/// <param name="m_Sheet"></param>
????????public void DataTableToSheet(string title,?DataTable dt, Excel._Worksheet m_Sheet,
????????????????????????????????????Excel._Workbook m_Book,??int startrow)
????????{

????????????//以下是填寫EXCEL中數(shù)據(jù)
????????????Excel.Range range = m_Sheet.get_Range(m_Sheet.Cells[1, 1], m_Sheet.Cells[1, 2]);
????????????range.MergeCells = true;??//合并單元格
????????????range.Font.Bold = true;???//加粗單元格內(nèi)字符
????????????//寫入題目
????????????m_Sheet.Cells[startrow, startrow] = title;
????????????int rownum = dt.Rows.Count;//行數(shù)
????????????int columnnum = dt.Columns.Count;//列數(shù)
????????????int num = rownum + 2;???//得到數(shù)據(jù)中的最大行數(shù)


????????????//寫入列標(biāo)題
????????????for (int j = 0; j < columnnum; j++)
????????????{
????????????????????int bt_startrow = startrow + 1;

????????????????????//將字段名寫入文檔
????????????????????m_Sheet.Cells[bt_startrow, 1 + j] = dt.Columns[j].ColumnName;

?????????????????????//單元格內(nèi)背景色
????????????????????m_Sheet.get_Range(m_Sheet.Cells[bt_startrow, 1 + j], m_Sheet.Cells[bt_startrow, 1 + j]).Interior.ColorIndex = 15;?????????????}
???????????

????????????//逐行寫入數(shù)據(jù)
????????????for (int i = 0; i < rownum; i++)
????????????{
????????????????for (int j = 0; j < columnnum; j++)
????????????????{
????????????????????????m_Sheet.Cells[startrow + 2 + i, 1 + j] = dt.Rows[i][j].ToString();
????????????????}
????????????}
????????????m_Sheet.Columns.AutoFit();

????????????

??????????//在當(dāng)前工作表中根據(jù)數(shù)據(jù)生成圖表

???????????CreateChart(m_Book, m_Sheet, num);??
????????}

???????private void CreateChart(Excel._Workbook m_Book,Excel._Worksheet m_Sheet,int num)
????????{
????????????Excel.Range?oResizeRange;
????????????Excel.Series oSeries;

????????????m_Book.Charts.Add(Missing.Value, Missing.Value, 1, Missing.Value);
????????????m_Book.ActiveChart.ChartType = Excel.XlChartType.xlLine;//設(shè)置圖形

????????????//設(shè)置數(shù)據(jù)取值范圍
????????????m_Book.ActiveChart.SetSourceData(m_Sheet.get_Range("A2", "C" + num.ToString()), Excel.XlRowCol.xlColumns);
????????????//m_Book.ActiveChart.Location(Excel.XlChartLocation.xlLocationAutomatic, title);
????????????//以下是給圖表放在指定位置
????????????m_Book.ActiveChart.Location(Excel.XlChartLocation.xlLocationAsObject, m_Sheet.Name);
????????????oResizeRange?= (Excel.Range)m_Sheet.Rows.get_Item(10, Missing.Value);
????????????m_Sheet.Shapes.Item("Chart 1").Top = (float)(double)oResizeRange.Top;??//調(diào)圖表的位置上邊距
????????????oResizeRange = (Excel.Range)m_Sheet.Columns.get_Item(6, Missing.Value);??//調(diào)圖表的位置左邊距
???????????// m_Sheet.Shapes.Item("Chart 1").Left = (float)(double)oResizeRange.Left;
????????????m_Sheet.Shapes.Item("Chart 1").Width = 400;???//調(diào)圖表的寬度
????????????m_Sheet.Shapes.Item("Chart?1").Height = 250;??//調(diào)圖表的高度

????????????m_Book.ActiveChart.PlotArea.Interior.ColorIndex = 19;??//設(shè)置繪圖區(qū)的背景色
????????????m_Book.ActiveChart.PlotArea.Border.LineStyle = Excel.XlLineStyle.xlLineStyleNone;//設(shè)置繪圖區(qū)邊框線條
????????????m_Book.ActiveChart.PlotArea.Width = 400;???//設(shè)置繪圖區(qū)寬度
????????????//m_Book.ActiveChart.ChartArea.Interior.ColorIndex = 10; //設(shè)置整個(gè)圖表的背影顏色
????????????//m_Book.ActiveChart.ChartArea.Border.ColorIndex = 8;// 設(shè)置整個(gè)圖表的邊框顏色
????????????m_Book.ActiveChart.ChartArea.Border.LineStyle = Excel.XlLineStyle.xlLineStyleNone;//設(shè)置邊框線條
????????????m_Book.ActiveChart.HasDataTable = false;


????????????//設(shè)置Legend圖例的位置和格式
????????????m_Book.ActiveChart.Legend.Top = 20.00; //具體設(shè)置圖例的上邊距
????????????m_Book.ActiveChart.Legend.Left = 60.00;//具體設(shè)置圖例的左邊距
????????????m_Book.ActiveChart.Legend.Interior.ColorIndex = Excel.XlColorIndex.xlColorIndexNone;
????????????m_Book.ActiveChart.Legend.Width = 150;
????????????m_Book.ActiveChart.Legend.Font.Size = 9.5;
????????????//m_Book.ActiveChart.Legend.Font.Bold = true;
????????????m_Book.ActiveChart.Legend.Font.Name = "宋體";
????????????//m_Book.ActiveChart.Legend.Position = Excel.XlLegendPosition.xlLegendPositionTop;//設(shè)置圖例的位置
????????????m_Book.ActiveChart.Legend.Border.LineStyle = Excel.XlLineStyle.xlLineStyleNone;//設(shè)置圖例邊框線條

?

????????????//設(shè)置X軸的顯示
????????????Excel.Axis xAxis = (Excel.Axis)m_Book.ActiveChart.Axes(Excel.XlAxisType.xlValue, Excel.XlAxisGroup.xlPrimary);
????????????xAxis.MajorGridlines.Border.LineStyle = Excel.XlLineStyle.xlDot;
????????????xAxis.MajorGridlines.Border.ColorIndex = 1;//gridLine橫向線條的顏色
????????????xAxis.HasTitle = false;
????????????xAxis.MinimumScale = 1500;
????????????xAxis.MaximumScale = 6000;
????????????xAxis.TickLabels.Font.Name = "宋體";
????????????xAxis.TickLabels.Font.Size = 9;

?

????????????//設(shè)置Y軸的顯示
????????????Excel.Axis yAxis = (Excel.Axis)m_Book.ActiveChart.Axes(Excel.XlAxisType.xlCategory, Excel.XlAxisGroup.xlPrimary);
????????????yAxis.TickLabelSpacing = 30;
????????????yAxis.TickLabels.NumberFormat = "M月D日";
????????????yAxis.TickLabels.Orientation = Excel.XlTickLabelOrientation.xlTickLabelOrientationHorizontal;//Y軸顯示的方向,是水平還是垂直等
????????????yAxis.TickLabels.Font.Size = 8;
????????????yAxis.TickLabels.Font.Name = "宋體";

????????????//m_Book.ActiveChart.Floor.Interior.ColorIndex = 8;?
???????????

????????????oSeries = (Excel.Series)m_Book.ActiveChart.SeriesCollection(1);
????????????oSeries.Border.ColorIndex = 45;
????????????oSeries.Border.Weight = Excel.XlBorderWeight.xlThick;
????????????oSeries = (Excel.Series)m_Book.ActiveChart.SeriesCollection(2);
????????????oSeries.Border.ColorIndex?= 9;
????????????oSeries.Border.Weight = Excel.XlBorderWeight.xlThick;

????????}

轉(zhuǎn)載于:https://www.cnblogs.com/zpcB/p/5040347.html

總結(jié)

以上是生活随笔為你收集整理的Excel Chart的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 黑人黄色一级片 | 成人黄色在线网站 | 精品成人18 | 大尺度做爰床戏呻吟舒畅 | 天堂在线免费观看视频 | 欧美色乱 | 欧美人与禽zozzo性之恋的特点 | 麻豆三级视频 | 天堂网站 | 国产高潮国产高潮久久久 | 国产一区二区三区精品在线观看 | 亚洲成a人片在线www | 国产又黄又粗又猛又爽的视频 | 午夜网站在线观看 | 东方伊甸园av在线 | 国产一区二区三区免费在线观看 | 蜜桃视频一区二区 | 欧美激情va永久在线播放 | 日韩免费观看一区二区三区 | 91精品国产99久久久久久 | www.youjizz.com在线| 欧美bbw视频| 亚洲成熟丰满熟妇高潮xxxxx | 欧美日韩国产亚洲一区 | 半推半就一ⅹ99av | 九九视频在线播放 | 极品探花在线播放 | 日本丰满大乳奶做爰 | 丝袜制服中文字幕 | 日韩色 | 91嫩草网 | 久久精品视频1 | 激情小说专区 | 丰满少妇xoxoxo视频 | 国产偷自拍 | 初尝人妻少妇中文字幕 | 日本三级欧美三级 | 人妖一级片 | 动漫美女无遮挡免费 | 91精品国产入口在线 | 女人扒开屁股让男人捅 | 亚洲偷拍一区 | 伊人伊人伊人伊人 | 91精品免费观看 | 免费欧美日韩 | 国内精品在线观看视频 | 亚洲欧美日韩精品在线 | 欧美成人精品欧美一 | 成人一区视频 | 国产主播福利 | 久久综合伊人 | 九九热伊人 | 四川丰满妇女毛片四川话 | 午夜高潮| 午夜整容室 | 中文字幕av高清片 | 双性尿奴穿贞c带憋尿 | 久久98 | 国产精品无码专区 | 干美女少妇 | 日韩不卡在线 | 无码精品黑人一区二区三区 | 日日夜夜精品免费 | 国产视频导航 | 精品亚洲国产成人av制服丝袜 | 一区二区av电影 | 欧美成人女星 | 国产超碰av | 欧美丰满老熟妇xxxxx性 | 爱就操| 午夜欧美精品 | 手机看片一区 | 欧美日韩在线a | 亚洲bb | 日本三级中文字幕 | 午夜小视频在线播放 | 2一3sex性hd | 性久久久久 | 国产a级片免费看 | 99福利影院 | 大黑人交xxx极品hd | 可以免费看毛片的网站 | 国产h视频在线观看 | 男人的天堂日韩 | 色开心 | 国产欧美综合一区 | 久久久久99精品成人片试看 | av夜夜 | 成人毛片100部免费看 | 国产aⅴ一区二区三区 | av免费观看入口 | 日韩中文字幕一区二区三区四区 | 一区二区三区在线视频观看 | 欧美一级在线观看视频 | 日韩免费不卡视频 | 福利影院在线观看 | 久久av高潮av无码av喷吹 | 欧美噜噜噜 | 青青草社区视频 |