阴山脚下菜鸟求高手帮忙解决下小小问题?

u010804063 2013-07-16 09:36:48
string myStrFileName1 = DateTime.Now.AddDays(0).ToString("MM");
int sheet;
sheet = Convert.ToInt32(myStrFileName1);
Microsoft.Office.Interop.Excel.Application excel2 = new Microsoft.Office.Interop.Excel.Application();
Excel.Workbook workbook1 = excel2.Workbooks._Open(@"D:\预警、重要报告、通报\副本巴市回归.xls", Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value
, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
Excel.Sheets objSheets;
Excel._Worksheet objSheet;
Excel._Worksheet objSheet1;
Excel.Range range;//=new Range[100];
Excel.Range range1;//=new Range[100];
string[,] tdyb = new string[100, 100];
int[,] tgyb=new int [100,100];
int[,] tyb = new int[100, 100];
string[,] tgdyb = new string[100, 100];

objSheets = excel2.Worksheets;
objSheet = (Excel._Worksheet)objSheets.get_Item(sheet);
range = objSheet.get_Range("A1", "IT34");
// range1 = objSheet1.get_Range("A1", "GN32");
object[,] saRet1 = (System.Object[,])range.get_Value(Missing.Value);
//object[,] saRet11 = (System.Object[,])range1.get_Value(Missing.Value);
//MessageBox.Show(Convert.ToString(saRet1[2, 1]));
int iii = 6;
string my = DateTime.Now.AddDays(0).ToString("dd");
int intld = 14, intcells1 = 7;
for (int i2 = 1; i2 <= 3; i2++)
{
for (int i1 = 1; i1 <= 9; i1++)
{

tdyb[i2, i1] = Convert.ToString(saRet1[Convert.ToInt32(my) + i2 + 2, intld]);
tgdyb[i2, i1] = Convert.ToString(saRet1[Convert.ToInt32(my) + i2 + 2, intld+14]);
tgyb[i2, i1] = Convert.ToInt32(tdyb[i2, i1]);
tyb[i2, i1] = Convert.ToInt32(tgdyb[i2, i1]);

intld = intld + 28;


}
intld = 14;

}
tgyb[i2, i1] = Convert.ToInt32(tdyb[i2, i1]);
这一行出问题了,我读的都是数字,不知道为啥出问题,
错误为:将一个字符串转换为data time时,应先分析该字符串以获日期,然后将每个变量放到data time变量中
...全文
138 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
狼烟辉 2013-07-16
  • 打赏
  • 举报
回复
saRet1[Convert.ToInt32(my) + i2 + 2, intld] 先看看这个值的格式 ,然后看是否转换异常。
宝_爸 2013-07-16
  • 打赏
  • 举报
回复
tdyb[i2, i1]的内容是什么? 你是尝试转换成Int,奇怪为什么要报DateTime的错误。
HooverHuang 2013-07-16
  • 打赏
  • 举报
回复
引用 楼主 u010804063 的回复:
string myStrFileName1 = DateTime.Now.AddDays(0).ToString("MM"); int sheet; sheet = Convert.ToInt32(myStrFileName1); Microsoft.Office.Interop.Excel.Application excel2 = new Microsoft.Office.Interop.Excel.Application(); Excel.Workbook workbook1 = excel2.Workbooks._Open(@"D:\预警、重要报告、通报\副本巴市回归.xls", Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value , Missing.Value, Missing.Value, Missing.Value, Missing.Value); Excel.Sheets objSheets; Excel._Worksheet objSheet; Excel._Worksheet objSheet1; Excel.Range range;//=new Range[100]; Excel.Range range1;//=new Range[100]; string[,] tdyb = new string[100, 100]; int[,] tgyb=new int [100,100]; int[,] tyb = new int[100, 100]; string[,] tgdyb = new string[100, 100]; objSheets = excel2.Worksheets; objSheet = (Excel._Worksheet)objSheets.get_Item(sheet); range = objSheet.get_Range("A1", "IT34"); // range1 = objSheet1.get_Range("A1", "GN32"); object[,] saRet1 = (System.Object[,])range.get_Value(Missing.Value); //object[,] saRet11 = (System.Object[,])range1.get_Value(Missing.Value); //MessageBox.Show(Convert.ToString(saRet1[2, 1])); int iii = 6; string my = DateTime.Now.AddDays(0).ToString("dd"); int intld = 14, intcells1 = 7; for (int i2 = 1; i2 <= 3; i2++) { for (int i1 = 1; i1 <= 9; i1++) { tdyb[i2, i1] = Convert.ToString(saRet1[Convert.ToInt32(my) + i2 + 2, intld]); tgdyb[i2, i1] = Convert.ToString(saRet1[Convert.ToInt32(my) + i2 + 2, intld+14]); tgyb[i2, i1] = Convert.ToInt32(tdyb[i2, i1]); tyb[i2, i1] = Convert.ToInt32(tgdyb[i2, i1]); intld = intld + 28; } intld = 14; } tgyb[i2, i1] = Convert.ToInt32(tdyb[i2, i1]); 这一行出问题了,我读的都是数字,不知道为啥出问题, 错误为:将一个字符串转换为data time时,应先分析该字符串以获日期,然后将每个变量放到data time变量中
提示很明显了,你获取的字符串不能转换为时间格式,要做处理。你先用变量取到你获取的那个值,看看是什么格式的?字符转换为时间格式,是有格式要求的
Regan-lin 2013-07-16
  • 打赏
  • 举报
回复
string my = DateTime.Now.AddDays(0).ToString("dd");你这里的问题,时间类型不能直接转int的你要获取里面的值就用正则,或者split()来截取

110,552

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧