- 浏览: 682015 次
- 性别:
- 来自: 沈阳
文章分类
- 全部博客 (270)
- Ant Tool Script (12)
- XMLDigest (5)
- MyEclipse8.6 (1)
- RedHat (5)
- SVNVersionController (4)
- BatOperation (6)
- JspAndFaceWeb (66)
- javaSwing (18)
- PHP (12)
- J2SE (6)
- TestToolAndTestManual (12)
- C# (34)
- Java PatternDesign (20)
- Axis2AndWebService (5)
- ITLive (2)
- DBAndControl (10)
- C/C++ (8)
- Andriod (7)
- Python (7)
- JavaWork (16)
- Android-QA (1)
- Apache-Wicket (1)
- POI (1)
- JQuery (2)
- Struts2 (1)
- Flex&Flash (6)
- sdsdsd (0)
- 1212 (0)
最新评论
-
anayomin:
对九楼继续改进
public static <T> ...
Java List 分页 -
H4X0R:
来学习学习,赞一个
Aqua Data Studio 导出SQL -
yankai0219:
现在出现这个错误 Fatal error: Class 'PH ...
纯PHP搭建Apache+Eclipse+xDebug+PHPUnit+MakeGood -
yankai0219:
您好,我在搭建环境中提示PHPUnit_Framework_T ...
纯PHP搭建Apache+Eclipse+xDebug+PHPUnit+MakeGood -
wilsonchen:
chenhailong 写道wilsonchen 写道chen ...
C# RSA和Java RSA互通
今天遇到一个问题:
C#去读Excel文件
这里提供源代码
为了怕自己忘记,这里记录一下
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Collections; using System.IO; using System.Reflection; using MSExcel = Microsoft.Office.Interop.Excel; namespace ExcelTool { public partial class FrmMain : Form { string str = @"C:\Program Files\Data\SpaceKeyword.xlsx"; object missing = Missing.Value; MSExcel.Application app = null; MSExcel.Workbook wb = null; MSExcel.Worksheet ws = null; MSExcel.Range r = null; /// <summary> /// 加载Excel /// </summary> private void InitExcel() { //打开excel app = new Microsoft.Office.Interop.Excel.Application(); wb = app.Workbooks.Open(str, false, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing); app.Visible = false;//读Excel不显示出来影响用户体验 //得到WorkSheet对象 ws = (MSExcel.Worksheet)wb.Worksheets.get_Item(1); } /// <summary> /// 读取Excel中的内容 /// </summary> private void ReadExcel() { InitExcel(); //读取A1单元格内容 r = ws.get_Range("A1", Type.Missing); string strA1 = r.Value; app.Quit();//退出 MessageBox.Show(strA1); } /// <summary> /// 写入Excel(Win7下要以管理员身份运行才能修改) /// </summary> private void WriteExcel() { InitExcel(); ws.Cells[1, 1] = "修改的内容"; //保存Excel wb.Save(); wb.Close(null, null, null); app.Workbooks.Close(); app.Application.Quit(); app.Quit(); System.Runtime.InteropServices.Marshal.ReleaseComObject(ws); System.Runtime.InteropServices.Marshal.ReleaseComObject(wb); System.Runtime.InteropServices.Marshal.ReleaseComObject(app); ws = null; wb = null; app = null; } } }
public class Excel { public static String[] getWorksheetList(String connectionString) { OleDbConnection objConn = null; DataTable sheets = null; try { objConn = new OleDbConnection(connectionString); objConn.Open(); sheets = objConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); int k = 0; String[] worksheets = new String[sheets.Rows.Count]; foreach (DataRow row in sheets.Rows) { worksheets[k] = row["TABLE_NAME"].ToString().Replace("'", "").Replace("$", ""); } return worksheets; } catch (Exception ex) { Console.WriteLine(ex.Message); return null; } finally { if (objConn != null) { objConn.Close(); objConn.Dispose(); } if (sheets != null) sheets.Dispose(); } } public static void echoAsCSV(string connectionString) { try { var adapter1 = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", connectionString); var ds = new DataSet(); adapter1.Fill(ds, "results"); DataTable data = ds.Tables["results"]; for (int i = 0; i < data.Rows.Count; i++) { for (int j = 0; j < data.Columns.Count; j++) Console.Write("\"" + data.Rows[i].ItemArray[j] + "\";"); Console.WriteLine(); } } catch (Exception ex) { Console.WriteLine(ex.Message); } } static void Main(string[] args) { foreach (String arg in args) { Console.WriteLine(arg); } var connectionString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=Excel 12.0;", "E:/1.xlsx"); String[] worksheetList = getWorksheetList(connectionString); if (worksheetList != null) foreach (String worksheetName in worksheetList) Console.WriteLine(worksheetName); echoAsCSV(connectionString); Console.Read(); } }
评论
5 楼
chenhailong
2013-04-08
u010028054 写道
再问几个问题
36行的
括号中的1是指第一张表吗?也就是sheet1?因为我要读好几张
还有A1单元格是A列第一行的意思吗?相应的是字母加数字读取位置?
我要读的都是数字,但是改成var strA1 = r.Value;还是提示value不受语言支持,是不是还有哪我没弄对,纯数字该改哪些东西呢?
谢谢大神了,我刚学还是小白不太懂,求指导
36行的
ws = (MSExcel.Worksheet)wb.Worksheets.get_Item(1);
括号中的1是指第一张表吗?也就是sheet1?因为我要读好几张
还有A1单元格是A列第一行的意思吗?相应的是字母加数字读取位置?
我要读的都是数字,但是改成var strA1 = r.Value;还是提示value不受语言支持,是不是还有哪我没弄对,纯数字该改哪些东西呢?
谢谢大神了,我刚学还是小白不太懂,求指导
第一个问题: 对的就是sheet1,你可以写个方法来遍历所有的sheets
第二个问题:对的就是sheet的第一个位置,你如果知道类型的话,可以采用强制转化的方式来解决这个问题。
你也可以debug看下下面的代码内容。
r = ws.get_Range("A1", Type.Missing);
类型是Type.Missing,可以采用别的类型,Type有很多种
4 楼
u010028054
2013-04-03
再问几个问题
36行的
括号中的1是指第一张表吗?也就是sheet1?因为我要读好几张
还有A1单元格是A列第一行的意思吗?相应的是字母加数字读取位置?
我要读的都是数字,但是改成var strA1 = r.Value;还是提示value不受语言支持,是不是还有哪我没弄对,纯数字该改哪些东西呢?
谢谢大神了,我刚学还是小白不太懂,求指导
36行的
ws = (MSExcel.Worksheet)wb.Worksheets.get_Item(1);
括号中的1是指第一张表吗?也就是sheet1?因为我要读好几张
还有A1单元格是A列第一行的意思吗?相应的是字母加数字读取位置?
我要读的都是数字,但是改成var strA1 = r.Value;还是提示value不受语言支持,是不是还有哪我没弄对,纯数字该改哪些东西呢?
谢谢大神了,我刚学还是小白不太懂,求指导
3 楼
chenhailong
2013-04-03
u010028054 写道
大神,这个代码的46行提示value不受语言支持是什么意思?怎样解决呢?我想用一下读写代码,谢谢了。
希望对你有帮助
u010028054 写道
大神,这个代码的46行提示value不受语言支持是什么意思?怎样解决呢?我想用一下读写代码,谢谢了。
2 楼
chenhailong
2013-04-03
可能是[读取A1单元格内容]有问题。你看看是不是A1单元格内的字符类型不是string
我得到的是string
string strA1 = r.Value;
你相应的改掉就行了,也可以用var来定义,这是C#的优势
我得到的是string
string strA1 = r.Value;
你相应的改掉就行了,也可以用var来定义,这是C#的优势
1 楼
u010028054
2013-04-03
大神,这个代码的46行提示value不受语言支持是什么意思?怎样解决呢?我想用一下读写代码,谢谢了。
发表评论
-
减少winform的内存使用量
2013-06-01 06:49 1138今天看到有趣的代码,功能主要是减少winform的内存使用量。 ... -
C# Timer运行时,系统时间修改
2012-10-19 15:55 2874今天遇到一个问题: C# Time 运行的时候,将系统时间修 ... -
C# 一步一步的开始
2012-09-09 11:02 0------------------------------- ... -
C# 书写window简单服务
2012-03-30 19:59 1238代码如下: using System.Co ... -
手工添加window 服务依赖
2012-03-29 15:11 1917这里是bat文件 复制就可以添加 ... -
Services do not start and Event ID 7022
2012-03-29 15:07 1391今天遇到一个问题 具体的如题 解决方案: ... -
C# 胡乱实现,程序 占用CPU50%
2012-02-28 07:05 3700今天早上看到了编程之美,我很兴奋,大早上看书,有吗? 有木有? ... -
IIS not work because of Com+ Application error or IWAM user not have password
2012-02-24 16:19 1745今天遇到了一个问题。XP的IIS 5.1 安装成功后会出现: ... -
IIS 7.0 HTTP Error 403.14
2012-02-23 13:09 1488刚才碰到一个问题:如题 下面是解决方案: 方法 ... -
C# Chart详细解析(待)
2012-02-07 19:25 54912一年有过去了, 很长时间也没有写什么文章了,准确的说是2个月, ... -
ProcessBar 2种经典实现
2011-12-15 14:05 1137我今天实装了ProcessBar 的两种实现方式 下面 ... -
winform 让事件提前运行
2011-12-15 13:54 1589今天遇到了一个问题,就是让Winform中的事件提前运行的问题 ... -
using C# modify app.config in the run time
2011-12-13 11:19 1330今天在印度的网站上发现一个很经典的代码,也对比了国内的网站的答 ... -
winform 方向键焦点丢失问题(keydown event not work)
2011-12-10 11:47 1934在项目中遇到了,方向键不能被keydown event 捕捉的 ... -
Windows Install SQL Manager Error
2011-11-21 09:52 1069在安装SQL Manager的时候会出现异常,是由于操作系统的 ... -
C# 文件Copy 不包含.svn文件
2011-11-18 11:48 1826今天遇到了C#文件copy的问题 现在写出了解决方案 ... -
实现winform 代码导入dll
2011-11-14 14:48 1487代码如下: [DllImport(" ... -
C# winform 应用程序只打开一次(实现)
2011-11-14 13:43 7007winform 有的时候只能打开一次,下一次不要打开的应用 ... -
.net 3.5 Form Chart 解决方案
2011-11-12 16:49 1703刚刚写了一篇关于自己生活的文章,下面写下,最近我一直在做个项目 ... -
Window Form所有组件按主Form扩大
2011-11-08 13:08 1285今天遇到了Form 扩大到问题,写下了如下代码,希望对大家有用 ...
相关推荐
C# 读取加密的Excel 文件... 开始研究NPOI读取加密的Excel文件,没有研究出来,后来才改用Microsoft.Office.Interop.Excel读取加密的Excle文件。若有那位大牛研究出NPOI读取加密的Excel文件,希望能共享出源码来。 谢谢
C#操作EXCEL EXCEL类库 Excel模板处理 将DataTable数据写入Excel文件 C#数据写入EXCEL EXCEL样式管理帮助类库
c#读写excel,对excel文件的读\写\改
c#操作Excel并显示到控件上,可以随机读取Excel文件。
C# readEXCEL-Csharp 读取Excel2003/2007文件(.xls/.xlsx)中的行列数据;并且输出CSV文件
c#利用EPPlus读取excel实例。...简介:Epplus是一个使用Open Office XML(Xlsx)文件格式,能读写Excel 2007/2010文件的开源组件 功效:支持对excel文档的汇入汇出,图表(excel自带的图表基本都可以实现)的列印
C#,在vs2008环境下运行,读取Excel文档中指定内容
采用C#实现excel读和写操作,内容简单,包含了dll文件
用C#和office COM功能(VS2010版本),将Excel的文件里的Sheet1的列表读入,...查询的结果显示在ListBox中,结果可存入另一个Excel文件中,文件名可由用户指定。使用Regex检查Email和学号的合法性(写入Xml、查询时)。
用C#编写NPOI读写Excel,包括有NPOI里面的DLL文件下载,在已存在的Excel表格中插入数据
dlgOpen.Filter = "Excel文件(*.xls)|*.xls|所有文件(*.*)|*.*"; dlgOpen.FilterIndex = 1; dlgOpen.FileName = @"..\..\..\Test_DepthLayer.xls"; if (dlgOpen.ShowDialog() != DialogResult.OK) return; _...
c#利用EPPlus写入、读取、修改excel实例。 简介:Epplus是一个使用Open Office XML(Xlsx)文件格式,能读写Excel 2007/2010文件的开源组件
//C# 读取Excel文件、C#读取xls文件、C#读取xlsx文件、C#读取csv文件 //C# 将xls文件转换为DataTable、C#将xlsx文件转换为DataTable //C#将csv文件转换为DataTable //C#将txt文件转换为DataTable(列与列之间空格隔...
可以选择要打开的Excel文件 支持offic2003及offic2007 同时会自动获取第一个表名 若想获取所有表名 只要加一个循环即可
项目中用到的,贴上来 有需要的直接可以用了。
C#操作Excel全部代码文档,包括dll在bin文件夹下,包括例子。史上最全,吐血整理,包含了读excel 新建excel 以及向已有模版写Excel数据
可以完整的读取word文件Excel文件PDF文件Txt文件,以文本的形式读出来,简单易懂
自己写的一个读取excel的例子
C# 读取Excel矩阵 并做乘法运算 之前在CSDN上下载的算法是错误的。。。。
asp.net mvc 上传excel文件并读取excle内容转成DataTable(Spire.Office.3.6.0) 一个需求:将一个Excel文件中的数据导入到数据库中去。 思路:上传一个excel文件,读取该excel文件中数据,转成DataTable(或List),...