问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

怎样用c# asp.net实现以下这个关于excel表的小功能?

发布网友 发布时间:2022-05-01 20:20

我来回答

5个回答

懂视网 时间:2022-04-27 20:07

1.操作Excel的动态链接库

2.建立操作动态链接库的共通类,方便调用。(ExcelHelper)
具体如下:
代码如下:

using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.IO;
using System.Reflection;
using System.Diagnostics;
using System.Collections;
/// <summary>
///ExcelHelper 的摘要说明
/// </summary>
public class ExcelHelper
{
private string reportModelPath = null;
private string outPutFilePath = null;
private object missing = Missing.Value;
Excel.Application app;
Excel.Workbook workBook;
Excel.Worksheet workSheet;
Excel.Range range;
/// <summary>
/// 获取或设置报表模板路径
/// </summary>
public string ReportModelPath
{
get { return reportModelPath; }
set { reportModelPath = value; }
}
/// <summary>
/// 获取或设置
输出路径
/// </summary>
public string OutPutFilePath
{
get { return outPutFilePath; }
set { outPutFilePath = value; }
}
public ExcelHelper()
{
//
//TODO: 在此处添加构造函数逻辑
//
}
/// <summary>
/// 带参ExcelHelper构造函数
/// </summary>
/// <param name="reportModelPath">报表模板路径</param>
/// <param name="outPutFilePath">输出路径</param>
public ExcelHelper(string reportModelPath, string outPutFilePath)
{
//路径验证
if (null == reportModelPath || ("").Equals(reportModelPath))
throw new Exception("报表模板路径不能为空!");
if (null == outPutFilePath || ("").Equals(outPutFilePath))
throw new Exception("输出路径不能为空!");
if (!File.Exists(reportModelPath))
throw new Exception("报表模板路径不存在!");
//设置路径值
this.ReportModelPath = reportModelPath;
this.OutPutFilePath = outPutFilePath;
//创建一个应用程序对象
app = new Excel.ApplicationClass();
//打开模板文件,获取WorkBook对象
workBook = app.Workbooks.Open(reportModelPath, missing, missing, missing, missing, missing, missing,
missing, missing, missing, missing, missing, missing);
//得到WorkSheet对象
workSheet = workBook.Sheets.get_Item(1) as Excel.Worksheet;
}
/// <summary>
/// 给单元格设值
/// </summary>
/// <param name="rowIndex">行索引</param>
/// <param name="colIndex">列索引</param>
/// <param name="content">填充的内容</param>
public void SetCells(int rowIndex,int colIndex,object content)
{
if (null != content)
{
content = content.ToString();
}
else
{
content = string.Empty;
}
try
{
workSheet.Cells[rowIndex, colIndex] = content;
}
catch
{
GC();
throw new Exception("向单元格[" + rowIndex + "," + colIndex + "]写数据出错!");
}
}
/// <summary>
/// 保存文件
/// </summary>
public void SaveFile()
{
try
{
workBook.SaveAs(outPutFilePath, missing, missing, missing, missing, missing,
Excel.XlSaveAsAccessMode.xlExclusive, missing, missing, missing, missing);
}
catch
{
throw new Exception("保存至文件失败!");
}
finally
{
Dispose();
}
}
/// <summary>
/// 垃圾回收处理
/// </summary>
protected void GC()
{
if (null != app)
{
int generation = 0;
System.Runtime.InteropServices.Marshal.ReleaseComObject(app);
generation = System.GC.GetGeneration(app);
System.GC.Collect(generation);
app = null;
missing = null;
}
}
/// <summary>
/// 释放资源
/// </summary>
protected void Dispose()
{
workBook.Close(null, null, null);
app.Workbooks.Close();
app.Quit();
if (null != workSheet)
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(workSheet);
workSheet = null;
}
if (workBook != null)
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(workBook);
workBook = null;
}
if (app != null)
{
int generation = 0;
System.Runtime.InteropServices.Marshal.ReleaseComObject(app);
generation = System.GC.GetGeneration(app);
System.GC.Collect(generation);
app = null;
missing = null;
}
}
}

通过ExcelHelper类提供的SetCells()和SaveFile()方法可以给Excel单元格赋值并保存到临时文件夹内。仅供参考。
3.调用
因为这里需要用到导出模板,所以需要先建立模板。具体如下:、
代码如下:

/// <summary>
/// 导出数据
/// </summary>
protected void Export_Data()
{
int ii = 0;
//取得报表模板文件路径
string reportModelPath = HttpContext.Current.Server.MapPath("ReportModel/导出订单模板.csv");
//导出报表文件名
fileName = string.Format("{0}-{1}{2}.csv", "导出订单明细", DateTime.Now.ToString("yyyyMMdd"), GetRndNum(3));
//导出文件路径
string outPutFilePath = HttpContext.Current.Server.MapPath("Temp_Down/" + fileName);
//创建Excel对象
ExcelHelper excel = new ExcelHelper(reportModelPath, outPutFilePath);

SqlDataReader sdr = Get_Data();
while (sdr.Read())
{
ii++;
excel.SetCells(1 + ii, 1, ii);
excel.SetCells(1 + ii, 2, sdr["C_Name"]);
excel.SetCells(1 + ii, 3, sdr["C_Mtel"]);
excel.SetCells(1 + ii, 4, sdr["C_Tel"]);
excel.SetCells(1 + ii, 5, sdr["C_Province"]);
excel.SetCells(1 + ii, 6, sdr["C_Address"]);
excel.SetCells(1 + ii, 7, sdr["C_Postcode"]);
}
sdr.Close();
excel.SaveFile();
}

关于导出就简单写到这,另外下一节讲介绍如何通过这个类库上传Excel文件。 作者:WILLPAN

热心网友 时间:2022-04-27 17:15

1.添加一个新的窗体default.aspx

2.拖入一个button控件

3.在解决方案管理器下面的当前项目点击鼠标右键.选择添加引用.在弹出的对话框选择com. 然后找到Microsoft Excel 11.0 Object Library(如果你电脑所装的是office的话.就是Microsoft Excel 11.0 Object Library) 选中后点击确定.

4.在default.aspx双击刚拖进的button控件.把default.aspx.cs页面的代码全部替换为以下.(注意文件名)

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using Excel = Microsoft.Office.Interop.Excel;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}

protected void Button1_Click1(object sender, EventArgs e)
{
string FilePath = Server.MapPath("1.xlsx");//这用到的文件名是1.xlsx 这的excel文件2007的
Excel.Application FileExcel = new Excel.ApplicationClass();
object Missing = System.Reflection.Missing.Value;
Excel.Workbook mybook = (Excel.Workbook)FileExcel.Workbooks.Open(FilePath, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing);
Excel.Sheets ExcelSheet1 = mybook.Worksheets;
Excel.Worksheet xlsheet = (Excel.Worksheet)ExcelSheet1.get_Item(1);
Excel.Range i = (Excel.Range)xlsheet.get_Range("B4", Missing);
i.ColumnWidth = 20;
i.Value2 = DateTime.Now.ToString();

FileExcel.DisplayAlerts = false;
mybook.Save();
mybook = null;
xlsheet = null;
FileExcel.Quit();
}
}

热心网友 时间:2022-04-27 18:33

private static string sFile;
protected void Page_Load(object sender, EventArgs e)
{
sFile = Server.MapPath("2.xlsx");
}
protected void Button1_Click(object sender, EventArgs e)
{
Excel.Application oExcel = new Excel.ApplicationClass();
object objMissing = System.Reflection.Missing.Value;
Excel.Workbook mybook = (Excel.Workbook)oExcel.Workbooks.Open(sFile, objMissing, objMissing, objMissing, objMissing, objMissing, objMissing, objMissing, objMissing, objMissing, objMissing, objMissing, objMissing, objMissing, objMissing);
Excel.Sheets excelSheets = mybook.Worksheets;
Excel.Worksheet xlsheet = (Excel.Worksheet)excelSheets.get_Item(1);
Excel.Range ex = (Excel.Range)xlsheet.get_Range("B4",objMissing);
ex.ColumnWidth = 20;
ex.Value2 = DateTime.Now.ToString();

oExcel.DisplayAlerts = false;
mybook.Save();
mybook = null;
xlsheet = null;
oExcel.Quit();

}

就这样了。测试成功。刚写的

热心网友 时间:2022-04-27 20:07

在 <system.web>中添加<identity impersonate="true"/>

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string sFile = Server.MapPath("2006222102122.xls");
Excel.Application oExcel = new Excel.Application();
object objMissing = System.Reflection.Missing.Value;
Excel.Workbook mybook = (Excel.Workbook)oExcel.Workbooks.Open(sFile, objMissing, objMissing, objMissing, objMissing, objMissing, objMissing, objMissing, objMissing, objMissing, objMissing, objMissing, objMissing, objMissing, objMissing);
Excel.Sheets excelSheets = mybook.Worksheets;
Excel.Worksheet xlsheet = (Excel.Worksheet)excelSheets.get_Item(1);
int i=1;
while (xlsheet.get_Range(xlsheet.Cells[i, 1], xlsheet.Cells[i, 1]).Text.ToString()!="")
{
Response.Write(xlsheet.get_Range(xlsheet.Cells[i, 1], xlsheet.Cells[i, 1]).Text.ToString() + "--");
Response.Write(xlsheet.get_Range(xlsheet.Cells[i, 2], xlsheet.Cells[i, 2]).Text.ToString() + "--");
Response.Write(xlsheet.get_Range(xlsheet.Cells[i, 3], xlsheet.Cells[i, 3]).Text.ToString() + "--");
Response.Write(xlsheet.get_Range(xlsheet.Cells[i, 4], xlsheet.Cells[i, 4]).Text.ToString() + "--");
Response.Write(xlsheet.get_Range(xlsheet.Cells[i, 5], xlsheet.Cells[i, 5]).Text.ToString() + "--");
Response.Write(xlsheet.get_Range(xlsheet.Cells[i, 6], xlsheet.Cells[i, 6]).Text.ToString() + "--");
Response.Write(xlsheet.get_Range(xlsheet.Cells[i, 7], xlsheet.Cells[i, 7]).Text.ToString() + "--");
Response.Write(xlsheet.get_Range(xlsheet.Cells[i, 8], xlsheet.Cells[i, 8]).Text.ToString() + "<br/>");
i++;
}
mybook = null;
xlsheet = null;
oExcel.Quit();
}
}

热心网友 时间:2022-04-27 21:59

1楼是二蛋,瞎写的
我想用C#做一个查询系统,源资料是Excle表中的资料,该怎么做啊?

做一个小软体查询excel表里的资料 用资料透视表简单步骤:选中要统计的表格-资料-资料透视表和资料透检视-下一步-下一步-布局(把按机种.移到左边行的位置,产量.金额.移到右下面资料位置.如果统计方式是计数双击一下资料的内容点求和)-确定-完成.如不符要求,再把资料往右移一格,汇总都出来了.总之...

asp.net(C#)如何将excel文件中的工作表名称绑定到dropdownlist里面_百 ...

首先需要考虑的是你用什么技术来读写Excel文件。许多第三方dll实现方法是将Excel数据读取成Dataset数据集,那么你可以在遍历的时候 将DataTable的TableName获取,放入Dropdownlist的Items中就可以了。若是使用office组件来实现,需要实例化excelsheet对象,然后获取名称。

c#.net如何实现将excel表格中的数据分开,将其余的数据导入到数据库中...

1 第一个是欢迎界面,直接下一步.2 选择数据源,数据源选择为Microsoft Excel,选择文件路径和版本后下一步 3 选择目标,包括数据库,服务器名,身份验证.设置好下一步 4 指定表复制或查询,选择好下一步 5 选择源表和源视图,excel表名就是要导入到数据库的表名称,选择后下一步 6 保存并执行,勾选...

asp中 (c#)该怎么把查询的数据导入excel表中 最好是有个例子 谢谢_百 ...

方法就是用代码将数据写成一个字符串,这个字符串是HTML格式的,如:"数据数据

怎么用C#语言实现这样一个功能: 复制一个excel表格中的某几列内容然后...

把鼠标放到列标题的位置,当鼠标变成加粗的向下箭头的时候点击,选中整列。复制,然后再另外一个表格用同样的方法选中整列,粘贴。

我想知道C#能否做一个类似excel表格的软件,但表格里面的公式都已经写...

3种方法吧,1计算是C# 进行,导出在excel模板里面 2计算是C# 进行,导出在水晶报表里面 3使用user32.dll的api方法,打开一个excel在你界面中间 都可以实现你想要的

在c#net如何进行excel表格中的公式操作

使用C#在Excel中添加公式,需要用到Excel库,例如Spire.XLS, NPOI, EPPLUS。如果用spire, 代码如下:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 //实例化Workbook Workbook wb = new Workbook();//获取第一个工作表 Worksheet sheet = wb.Worksheets[0];//写入数字到A1-...

C#如何实现读取和显示excel表格中的数据?

读取Excel首先你在引用中得引用Microsoft office Excel 20** 对应的dll文件,才能读取到Excel的数据\x0d\x0a在类里面引用:System.Data.OleDb;\x0d\x0a\x0d\x0astatic public DataSet ExcelToDataSet(string filename)\x0d\x0a {\x0d\x0a DataSet ds;\x0d\x0a string strCo...

C# 添加、修改、删除Excel图表数据标签

Excel图表的数据标签能直观展示特定数据,增强图表可读性。C#代码可实现添加、修改与删除操作。使用的工具:Spire.XLS for .NET pack,可通过官网下载并解压安装,或通过Nuget下载。以C#示例进行操作:添加数据标签:通过代码生成图表,并添加数据标签,实现数据的可视化展示。编辑/修改数据标签:使用示例代码...

c#如何对一个打开的excel表格的一个区域的数据,按照某两列的大小进行...

打开表格,全选整个表格,在“数据”选项中选择“排序”,点击“包含标题”,点击“主要关键字”,选择你想按大小进行排序的两列中首先需要的其中一列的代号,然后选择“排序依据”,最后选择“次序”中的“升序”还是“降序”;其次再点“添加条件”重复以上步骤,就达到排序目的了 ...

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
贴卫生间墙大瓷砖打灰技巧 【贴墙砖打灰技巧】贴瓷砖快速打灰法技巧 贴瓷砖需注意什么细节_百度... 中午肚子饿,吃了又不消化,我该怎么办啊? 胃胀不消化是什么原因造成的 jc/t907-2012是瓷砖粘合剂的执行标准吗? 科目二和科目三没考 不打算现在学了 然后科目一的时候提早交了场地费... 科目二没有考可以退钱吗 驾校退钱要扣50%合理吗(驾校退钱麻烦吗) 使用瓷砖胶要知道哪些常识?瓷砖胶的十大品牌都有哪些?看完这篇文章就能... 爱护图书应该从哪些方面做起?(不少于3条) asp.net 打印和数据导出功能 asp.net打印预览 ASP.NET怎么让 从数据库导出的EXCEL的数据内容居中显示 ASP.NET导出数据到Excel如何设置高度与宽度 c# asp.net Excel asp.net打印功能 在ASP.NET中怎么实现打印功能(我用的是C#),需要具体的代码 asp.net如何实现 打印gridview中的数据,打印之前要预览设置打印页面... 用excel打印支出票据,任何设置打印指定区域的数据呢? 怎么把自己录的歌的精彩部分做铃声 使用Eclipse制作JAVA程序,怎么做数据库连接的模板 电脑分区的大小能改吗?就是CDE盘的大小之类的 新组装电脑怎么分区,按哪个进入分区 如何将系统CDEF盘改成CDE 电脑上有2个硬盘;现在去掉一个;没去的那个;成了C、E、F盘;怎么改成CDE盘啊? 电脑刚组装好,如何对硬盘进行分区?一般CDEF盘的容量比试多少? 在我打word时中间每隔一段时间就会自动备份吗? 事业单位招聘开考比例1:3是什么意思 事业单位考试达到1:3比例可以开考,但面试只有一个人入围可以面试么? 我报了2019楚雄事业考试,但是报名人数没有达到开考比例1:3,可以进行岗位调剂吗? asp.net中excel输出问题 按一定的格式输出! 葱肉馅饺子,冷冻能保鲜多长时间? 拆骨鸡爪和无骨鸡爪的区别 大葱冻了还能吃吗 成都航空港飞机场二号线开通后噪音很大,能不能抗议? 成都新机场建成后,双流机场会不会拆迁,还是民用机场吗,因为有机场 我在成都西门这边,早晚飞机声音太大,睡也睡不好,有没有办法处理下 成都经常有很大的轰鸣声象是飞机声音但又比那大,这是怎么回事呢? 先,抛出我的观点:与其在金堂修第二机场,不如将绵阳机场改造为成都的第二机场,分担成都双流机场一部分 百家姓壁纸龙 手机开机后显示“您的设备已被root”是什么意思,该怎么解决? B维生素B6片作用是什么 手机里经常出现“你的手机已经被root...&quot;,这是什么意思?root又是什么... 十二生肖凶兽有那些 维生素B6片有什么具体功效?请说的具体点.能治植物神经紊乱吗? 维生素B6片有什么具体功效?请说的具体点.能治植物神经紊乱吗? 日本的姓氏中有哪些是带“龙”字的? 12种吞噬恶鬼的凶兽分别是谁 求天罡三十六神兽,地煞七十二凶兽的名字 学JAVA用什么软件最好
  • 焦点

最新推荐

猜你喜欢

热门推荐