特别注意: range.Text.ToString(); 和 range.Value2.ToString(); 的区别
如果Excell的单元格里面是日期,前面显示2015年05月10日;后面的显示42134
也就是说:Text 和Value2的不同。
using System;
using System.Data;
using System.Configuration;
using System.Collections;
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;
using Microsoft.Office.Core;
using Microsoft.Office.Interop.Excel; public partial class dingdan2_Default5 : System.Web.UI.Page
{
string str日期;
string str单号;
string str运费支付方式;
string str收货人;
string str电话;
string str购货单位;
string str收货地址;
string str制单人;
string str销售业务员;
string str财务部;
string str物流货运组;
string str仓储组; string[,] str索引 = new string[,];
string[,] str数据 = new string[,]; protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
((MasterPage)Master).setDaohang("订单管理->导入订单"); }
}
protected void Button1_Click(object sender, EventArgs e)
{
if ((FileUpload1.HasFile) && (null != FileUpload1.PostedFile))
{
this.ListBox1.Items.Clear(); String fileExtension = System.IO.Path.GetExtension(FileUpload1.FileName).ToLower();
String[] allowedExtensions = { ".xls" };
for (int i = ; i < allowedExtensions.Length; i++)
{
if (fileExtension.ToLower() == allowedExtensions[i])
{
this.Session["g_filename"] = FileUpload1.FileName;
this.FileUpload1.SaveAs(Server.MapPath("uploadfiles\\") + FileUpload1.FileName);
this.ListBox1.Items.Insert(, "文件上传成功! " + FileUpload1.FileName);
}
else
{
this.ListBox1.Items.Insert(, "只能上传EXCEL文件!" + FileUpload1.FileName);
} }
}
else
{
this.ListBox1.Items.Insert(, "无法检测到上传的文件!");
} }
//Excel 应用程序对象
Excel.Application ExcelRS;
//Excel 工作簿对象
Excel._Workbook RSbook;
//Excel 工作页对象
Excel._Worksheet RSsheet;
//某一个单元格对象
Excel.Range range; protected void Button2_Click(object sender, EventArgs e)
{
try
{
//第一步:建立Excel应用程序
ExcelRS = new Excel.Application();
this.ListBox1.Items.Insert(, "建立Excel应用程序成功!"); //第二步:建立Excel工作簿
RSbook = (Excel._Workbook)ExcelRS.Workbooks.Open(Server.MapPath("uploadfiles\\")+this.Session["g_filename"].ToString(), Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
this.ListBox1.Items.Insert(, "建立Excel工作簿成功!"); //第三步:设置第一个工作溥
RSsheet = (Excel._Worksheet)RSbook.Sheets.get_Item();
this.ListBox1.Items.Insert(, "建立Excel工作页成功!"); //第四步:读取数据
range = (Excel.Range)RSsheet.get_Range("B2", Type.Missing);
this.str日期 = range.Text.ToString();
this.ListBox1.Items.Insert(,"日期:"+this.str日期); range = (Excel.Range)RSsheet.get_Range("G2", Type.Missing);
this.str单号= range.Value2.ToString();
this.ListBox1.Items.Insert(, "单号:" + this.str单号); range = (Excel.Range)RSsheet.get_Range("B3", Type.Missing);
this.str运费支付方式 = range.Value2.ToString();
this.ListBox1.Items.Insert(, "运费支付方式:" + this.str运费支付方式); range = (Excel.Range)RSsheet.get_Range("D3", Type.Missing);
this.str收货人 = range.Value2.ToString();
this.ListBox1.Items.Insert(, "收货人:" + this.str收货人); range = (Excel.Range)RSsheet.get_Range("G3", Type.Missing);
this.str电话 = range.Value2.ToString();
this.ListBox1.Items.Insert(, "电话:" + this.str电话); range = (Excel.Range)RSsheet.get_Range("B4", Type.Missing);
this.str购货单位 = range.Value2.ToString();
this.ListBox1.Items.Insert(, "购货单位:" + this.str购货单位); range = (Excel.Range)RSsheet.get_Range("B5", Type.Missing);
this.str收货地址 = range.Value2.ToString();
this.ListBox1.Items.Insert(, "收货地址:" + this.str收货地址); range = (Excel.Range)RSsheet.get_Range("B15", Type.Missing);
this.str制单人 = range.Value2.ToString();
this.ListBox1.Items.Insert(, "制单人:" + this.str制单人); range = (Excel.Range)RSsheet.get_Range("E15", Type.Missing);
this.str销售业务员 = range.Value2.ToString();
this.ListBox1.Items.Insert(, "销售业务员:" + this.str销售业务员); range = (Excel.Range)RSsheet.get_Range("I15", Type.Missing);
this.str财务部 = range.Value2.ToString();
this.ListBox1.Items.Insert(, "财务部:" + this.str财务部); range = (Excel.Range)RSsheet.get_Range("B16", Type.Missing);
this.str物流货运组 = range.Value2.ToString();
this.ListBox1.Items.Insert(, "物流货运组:" + this.str物流货运组); range = (Excel.Range)RSsheet.get_Range("E16", Type.Missing);
this.str仓储组 = range.Value2.ToString();
this.ListBox1.Items.Insert(, "仓储组:" + this.str仓储组); for (int i = ; i < ; i++)
{
str索引[i - , ] = "A" + i.ToString();
str索引[i - , ] = "B" + i.ToString();
str索引[i - , ] = "C" + i.ToString();
str索引[i - , ] = "D" + i.ToString();
str索引[i - , ] = "E" + i.ToString();
str索引[i - , ] = "F" + i.ToString();
str索引[i - , ] = "G" + i.ToString();
str索引[i - , ] = "H" + i.ToString();
str索引[i - , ] = "I" + i.ToString();
str索引[i - , ] = "J" + i.ToString();
} //读取数据
for (int i = ; i < ; i++)
{
for (int j = ; j < ; j++)
{
range = (Excel.Range)RSsheet.get_Range(str索引[i,j], Type.Missing);
str数据[i,j] = range.Text.ToString();
this.ListBox1.Items.Add(i.ToString() + ":" + j.ToString() + "=" + str数据[i, j]);
}
} }
catch (System.Exception ex)
{
this.ListBox1.Items.Insert(,"异常! "+ex.ToString() + "-" +ex.Message +"-"+ex.Source);
}
finally
{
ExcelRS.Quit();
} }
}
特别注意: range.Text.ToString(); 和 range.Value2.ToString(); 的区别的更多相关文章
- range()函数在python3与python2中的区别
range()函数在python3与python2中的区别 - CSDN博客 https://blog.csdn.net/weixin_37579123/article/details/8098038 ...
- JavaScript toString、String和stringify方法区别
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- Exception 的 toString() 方法和 getMessage() 方法的区别
Exception 的 toString() 方法和 getMessage() 方法的区别: 在开发的过程中打印错误日志时尽量使用e.toString() 方法, 因为当错误为空指针时 e.getMe ...
- toString()和Object.prototype.toString.call() 不一样
var arr=[1,2,3];arr.toString()//输出“1,2,3”Object.prototype.toString.call(arr)//输出 "[object Array ...
- python基础-range用法_python2.x和3.x的区别
#range帮助创建连续的数字,通过设置步长来指定不连续 python2.7 #直接就在内存中创建出来(0-99) >>> range(100)[0, 1, 2, 3, 4, 5, ...
- [LeetCode] Range Sum Query - Immutable & Range Sum Query 2D - Immutable
Range Sum Query - Immutable Given an integer array nums, find the sum of the elements between indice ...
- list(range())--------range创建一个list列表 遍历索引range(len()) 和 list(range())创建列表
lst = list(range(15,26)) #注,list(range())用的是小括号哦print(lst)
- leetcode@ [303/304] Range Sum Query - Immutable / Range Sum Query 2D - Immutable
https://leetcode.com/problems/range-sum-query-immutable/ class NumArray { public: vector<int> ...
- Java 异常Exception e中e的getMessage()和toString()以及 e.printStackTrace();方法的区别
Exception e中e的getMessage()和toString()方法的区别: 示例代码1: public class TestInfo { private static String ...
随机推荐
- PCB寻找器件
1.如果你知道元件的序号(designator),可以按下J,C,然后输入序号跳到元件所在位置,元件会出现在屏幕中心.2.如果是sch跟pcb在同一个project下,你从原理图选定元件,然后右键元件 ...
- 简单使用JDOM解析XML
原文:http://liuwentao.iteye.com/blog/59978 使用JDOM解析XML一.前言JDOM是Breet Mclaughlin和Jason Hunter两大Java高手的创 ...
- Mongodb 的劣势
MongoDB中的数据存放具有相当的随意性,不具有MySQL在开始就定义好了.对运维人员来说,他们可能不清楚数据库内部数据的数据格式,这也会数据库的运维带来了麻烦. 1. 事务关系支持薄弱.这也是所有 ...
- 9.链表中倒数第k个结点[FindReverseKthLinkedListNode]
[题目] 输入一个单向链表,输出该链表中倒数第k个结点.链表的倒数第0个结点为链表的尾指针.链表结点定义如下: C++ Code 12345 struct ListNode { int ...
- HDU - 6041:I Curse Myself(Tarjan求环&K路归并)
There is a connected undirected graph with weights on its edges. It is guaranteed that each edge app ...
- HohoCoder 1184 : 连通性二·边的双连通分量(+原理证明)
1184 : 连通性二·边的双连通分量 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 在基本的网络搭建完成后,学校为了方便管理还需要对所有的服务器进行编组,网络所的老师 ...
- 剑指offer-第六章面试中的各项能力(n个骰子的点数)
题目:把n个骰子扔到地上,骰子之和为S,输入n,打印s所有可能的值出现的概率. 思路:由于骰子的点数为1~6,因此n个骰子之和的大小为n~6n之间.故可以定义一个数组来存放这6n-n+1个数出现的次数 ...
- AtCoder Grand Contest 017 迟到记
晚上去操场上浪. 回来以后看到好几个人开着 \(AtCoder\) 在打代码. ... ... 今天有 \(AtCoder\) 比赛 ? 管它呢, \(Kito\) 在切西瓜,先吃西瓜... 然后看 ...
- openid和unionId的区别
转:http://blog.csdn.net/wo849533144long/article/details/50194623
- mysql 创建用户自定义函数(转可运行)
set global log_bin_trust_function_creators = 1; -- 开启bin_log 复制 函数创建DROP FUNCTION IF EXISTS hello; - ...