社区
C#
帖子详情
求C#实现三个Excel函数的方法
siugwan
2005-08-18 09:18:21
三个Excel函数为Percentile, correl, percentrank
请问要将这三个EXCEL函数通过C#来实现,应该如何写?
(想在EXCEL的帮助文件来查这三个函数的算法,但我看不懂)
...全文
640
6
打赏
收藏
求C#实现三个Excel函数的方法
三个Excel函数为Percentile, correl, percentrank 请问要将这三个EXCEL函数通过C#来实现,应该如何写? (想在EXCEL的帮助文件来查这三个函数的算法,但我看不懂)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
CrisZc
2005-09-21
打赏
举报
回复
mark
jf
siugwan
2005-09-21
打赏
举报
回复
项目都做完了,还没有人帮忙解决
最后还是用了效率最差的方法:操作EXCEL 来解决.
散分
lyb_abiandbel
2005-09-06
打赏
举报
回复
private void Form1_Load(object sender, System.EventArgs e)
{
this.sqlDataAdapter2.Fill(this.dataSet11);
OutputExcel(this.dataSet11.tyfy.DefaultView,"aaaa");
}
public void OutputExcel(DataView dv,string str)
{
//
// TODO: 在此处添加构造函数逻辑
//
Excel.Application excel;
int rowIndex=4;
int colIndex=1;
Excel._Workbook xBk;
Excel._Worksheet xSt;
excel= new Excel.ApplicationClass();;
xBk = excel.Workbooks.Add(true);
xSt = (Excel._Worksheet)xBk.ActiveSheet;
//
//取得标题
//
foreach(DataColumn col in dv.Table.Columns)
{
colIndex++;
excel.Cells[4,colIndex] = col.ColumnName;
xSt.get_Range(excel.Cells[4,colIndex],excel.Cells[4,colIndex]).HorizontalAlignment = Excel.XlVAlign.xlVAlignCenter;//设置标题格式为居中对齐
}
//
//取得表格中的数据
//
foreach(DataRowView row in dv)
{
rowIndex ++;
colIndex = 1;
foreach(DataColumn col in dv.Table.Columns)
{
colIndex ++;
if(col.DataType == System.Type.GetType("System.DateTime"))
{
excel.Cells[rowIndex,colIndex] = (Convert.ToDateTime(row[col.ColumnName].ToString())).ToString("yyyy-MM-dd");
xSt.get_Range(excel.Cells[rowIndex,colIndex],excel.Cells[rowIndex,colIndex]).HorizontalAlignment = Excel.XlVAlign.xlVAlignCenter;//设置日期型的字段格式为居中对齐
}
else
if(col.DataType == System.Type.GetType("System.String"))
{
excel.Cells[rowIndex,colIndex] = "'"+row[col.ColumnName].ToString();
xSt.get_Range(excel.Cells[rowIndex,colIndex],excel.Cells[rowIndex,colIndex]).HorizontalAlignment = Excel.XlVAlign.xlVAlignCenter;//设置字符型的字段格式为居中对齐
}
else
{
excel.Cells[rowIndex,colIndex] = row[col.ColumnName].ToString();
}
}
}
//
//加载一个合计行
//
int rowSum = rowIndex + 1;
int colSum = 2;
excel.Cells[rowSum,2] = "合计";
xSt.get_Range(excel.Cells[rowSum,2],excel.Cells[rowSum,2]).HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
//
//设置选中的部分的颜色
//
xSt.get_Range(excel.Cells[rowSum,colSum],excel.Cells[rowSum,colIndex]).Select();
xSt.get_Range(excel.Cells[rowSum,colSum],excel.Cells[rowSum,colIndex]).Interior.ColorIndex = 19;//设置为浅黄色,共计有56种
//
//取得整个报表的标题
//
excel.Cells[2,2] = str;
//
//设置整个报表的标题格式
//
xSt.get_Range(excel.Cells[2,2],excel.Cells[2,2]).Font.Bold = true;
xSt.get_Range(excel.Cells[2,2],excel.Cells[2,2]).Font.Size = 22;
//
//设置报表表格为最适应宽度
//
xSt.get_Range(excel.Cells[4,2],excel.Cells[rowSum,colIndex]).Select();
xSt.get_Range(excel.Cells[4,2],excel.Cells[rowSum,colIndex]).Columns.AutoFit();
//
//设置整个报表的标题为跨列居中
//
xSt.get_Range(excel.Cells[2,2],excel.Cells[2,colIndex]).Select();
xSt.get_Range(excel.Cells[2,2],excel.Cells[2,colIndex]).HorizontalAlignment = Excel.XlHAlign.xlHAlignCenterAcrossSelection;
//
//绘制边框
//
xSt.get_Range(excel.Cells[4,2],excel.Cells[rowSum,colIndex]).Borders.LineStyle = 1;
xSt.get_Range(excel.Cells[4,2],excel.Cells[rowSum,2]).Borders[Excel.XlBordersIndex.xlEdgeLeft].Weight = Excel.XlBorderWeight.xlThick;//设置左边线加粗
xSt.get_Range(excel.Cells[4,2],excel.Cells[4,colIndex]).Borders[Excel.XlBordersIndex.xlEdgeTop].Weight = Excel.XlBorderWeight.xlThick;//设置上边线加粗
xSt.get_Range(excel.Cells[4,colIndex],excel.Cells[rowSum,colIndex]).Borders[Excel.XlBordersIndex.xlEdgeRight].Weight = Excel.XlBorderWeight.xlThick;//设置右边线加粗
xSt.get_Range(excel.Cells[rowSum,2],excel.Cells[rowSum,colIndex]).Borders[Excel.XlBordersIndex.xlEdgeBottom].Weight = Excel.XlBorderWeight.xlThick;//设置下边线加粗
//
//显示效果
//
excel.Visible=true;
}
siugwan
2005-08-18
打赏
举报
回复
这个我也在EXCEL的帮助文件里找到了
但是有些概念不懂,像数组的百分点值即是求什么?
Cov(x,y) cov又是什么?
wxqq2001
2005-08-18
打赏
举报
回复
楼主请参考这个网站,也许会有启发.算法么,自己写好了.
http://www.hg168.net/access/
PERCENTILE
请参阅
返回区域中数值的第 K 个百分点的值。可以使用此函数来建立接受阈值。例如,可以确定得分排名在第 90 个百分点之上的检测侯选人。
语法
PERCENTILE(array,k)
Array 为定义相对位置的数组或数据区域。
K 0 到 1 之间的百分点值,包含 0 和 1。
CORREL
请参阅
返回单元格区域 array1 和 array2 之间的相关系数。使用相关系数可以确定两种属性之间的关系。例如,可以检测某地的平均温度和空调使用情况之间的关系。
语法
CORREL(array1,array2)
Array1 第一组数值单元格区域。
Array2 第二组数值单元格区域。
PERCENTRANK
请参阅
返回特定数值在一个数据集中的百分比排位。此函数可用于查看特定数据在数据集中所处的位置。例如,可以使用函数 PERCENTRANK 计算某个特定的能力测试得分在所有的能力测试得分中的位置。
语法
PERCENTRANK(array,x,significance)
Array 为定义相对位置的数组或数字区域。
X 为数组中需要得到其排位的值。
Significance 为可选项,表示返回的百分数值的有效位数。如果省略,函数 PERCENTRANK 保留 3 位小数。
VBA调用dll实例
VBA调用dll是指定路径的,如果该路径下没有想调的dll怎么办,本文给出了一个解决
方法
基于Visual
C#
的AutoCAD开发及其在工程中的应用
2、定义一个集判断和绘制于一体的
函数
GetBaseTrian() 105 3、划分三角网 106 4、错误处理 107 实例20 Delaunay三角剖分 110 1、获取点集坐标数组 110 2、获取点集外围边界 111 3、根据边界及内部点生成三角网 114 ...
Excel
函数
100问
用
Excel
多年,还是只会常用的那三五个
函数
。 本次课程结合职场工作中遇到的问题,整理100问用
函数
来帮助大家学习
Excel
函数
的这些痛点。熟练掌握
Excel
函数
的他,总是几分钟就能完成,别人倒腾1天的工作量。
免费DataGridView打印及.NET轻松打印控件5.0版
ChartGraph图表生成组件(电脑需安装
Excel
),用于将DataGridView表格(窗口程序)与GridView(网页程序)中的数据生成图表图片,然后再使用VB2008Print组件提供的图片打印功能(DrawImage)即可
实现
类似
Excel
的简单...
C#
操作
Excel
的
函数
对于
Excel
的数据处理功能,大家都已经了解。 我们经常需要将数据导入到
Excel
,或直接打开
Excel
文档,读写文件操作,这需要用到
Excel
Helper类,有了这个类,...言归正传,我们要讨论的事,
Excel
的
函数
如何给.NET使用
C#
110,571
社区成员
642,568
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章