![](/img/trans.png)
[英]Gridview copy cell value of a column to all other cells of the column
[英]update a value in a cell and all other cells will be automatically changed
例如,我有一个电子表格excel。 我想使用C#阅读它。
在电子表格中,我有两个或多个单元格:
A1 = 0
B1 = A1 + 7
如果我使用C#将A1的值更改为1,然后B1单元格将被自动更新,是否有可能?
第二个单元格将自动更新。 这是一些使用MS Excel对象模型(包括Microsoft.Interop.Excel.dll)的代码:
using System;
namespace exceltest2
{
using Microsoft.Office.Interop.Excel;
internal class Program
{
private static void Main(string[] args)
{
Application excel = null;
Workbook wb = null;
try
{
// run Excel
excel = new Application();
excel.Visible = false;
// Open file
wb = excel.Workbooks.Open(
@"D:\test.xlsx", Type.Missing, false, // Read-Only?
Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing);
// Read worksheets
Sheets sheets = wb.Worksheets;
// Select worksheets
Worksheet ws = (Worksheet)sheets.get_Item("Table1");
Range range = (Range)ws.get_Range("A1", "A1");
// Check Values #1
Console.WriteLine(ws.get_Range("A1", "A1").Value2.ToString());
Console.WriteLine(ws.get_Range("A2", "A2").Value2.ToString());
range.Cells[1, 1] = 15;
// Check Values #2
Console.WriteLine(ws.get_Range("A1", "A1").Value2.ToString());
Console.WriteLine(ws.get_Range("A2", "A2").Value2.ToString());
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
wb.Save();
wb.Close(false, null, null);
excel.Quit();
Console.ReadLine();
}
}
}
}
您可以在OleDbConnection,OleDbDataAdapter和DataSet的帮助下使用C#访问Excel Sheets。 这是一个示例,如何修改excel文件和单元格值: http : //csharp.net-informations.com/excel/csharp-excel-oledb-update.htm
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.