置頂隨筆

          //有保存對話框

          public void dgvToExcel(System.Windows.Forms.DataGridView datagridview, string SheetName)
                  {
                      
          int iRows = 0;
                      
          int iCols = 0;
                      
          int iTrueCols = 0;
                      Microsoft.Office.Interop.Excel.Application app 
          = new Microsoft.Office.Interop.Excel.Application();
                      Microsoft.Office.Interop.Excel.Workbook wb 
          = app.Workbooks.Add(System.Reflection.Missing.Value);
                      Microsoft.Office.Interop.Excel.Worksheet ws 
          = null;

                      
          if (wb.Worksheets.Count > 0)
                      {
                          ws 
          = (Microsoft.Office.Interop.Excel.Worksheet)wb.Worksheets.get_Item(1);
                      }
                      
          else
                      {
                          wb.Worksheets.Add(System.Reflection.Missing.Value, System.Reflection.Missing.Value, System.Reflection.Missing.Value, System.Reflection.Missing.Value);
                          ws 
          = (Microsoft.Office.Interop.Excel.Worksheet)wb.Worksheets.get_Item(1);
                      }
                      
          if (ws != null)
                      {
                          
          if (SheetName.Trim() != "")
                          {
                              ws.Name 
          = SheetName;
                          }
                          iRows 
          = datagridview.Rows.Count;      //加上列頭行
                          iTrueCols = datagridview.Columns.Count;   //包含隱藏的列,一共有多少列
                          
          //求列數,省略Visible = false的列
                          for (int i = 0; i < datagridview.Columns.Count; i++)
                          {
                              
          if (datagridview.Columns[i].Visible) iCols++;
                          }
                          
          string[,] dimArray = new string[iRows + 1, iCols];
                          
          for (int j = 0, k = 0; j < iTrueCols; j++)
                          {
                              
          //省略Visible = false的列
                              if (datagridview.Columns[j].Visible)
                              {
                                  dimArray[
          0, k] = datagridview.Columns[j].HeaderText;
                                  k
          ++;
                              }
                          }
                          
          for (int i = 0; i < iRows; i++)
                          {
                              
          for (int j = 0, k = 0; j < iTrueCols; j++)
                              {
                                  
          //省略Visible = false的列
                                  if (datagridview.Columns[j].Visible)
                                  {
                                      
          if (datagridview.Rows[i].Cells[j].Value != null)
                                      {
                                          dimArray[i 
          + 1, k] = datagridview.Rows[i].Cells[j].Value.ToString();
                                      }
                                      
          else
                                      {
                                          dimArray[i 
          + 1, k] = "";
                                      }
                                      k
          ++;
                                  }
                              }
                          }
                          ws.get_Range(ws.Cells[
          11], ws.Cells[iRows + 1, iCols]).Value2 = dimArray;
                          ws.get_Range(ws.Cells[
          11], ws.Cells[1, iCols]).Font.Bold = true;
                          ws.get_Range(ws.Cells[
          11], ws.Cells[iRows + 1, iCols]).Font.Size = 10.0;
                          ws.get_Range(ws.Cells[
          11], ws.Cells[iRows + 1, iCols]).RowHeight = 14.25;
                          
          //ws.Columns[.ColumnWidth = datagridview.Columns[0].Width;
                          for (int j = 0, k = 0; j < iTrueCols; j++)
                          {
                              
          //省略Visible = false的列
                              if (datagridview.Columns[j].Visible)
                              {
                                  ws.get_Range(ws.Cells[
          1, k + 1], ws.Cells[1, k + 1]).ColumnWidth = (datagridview.Columns[j].Width / 8.4> 255 ? 255 : (datagridview.Columns[j].Width / 8.4);
                                  
          //ws.Columns.c = datagridview.Columns[j].Width;
                                  k++;
                              }
                          }
                      }
                      app.Visible 
          = true;
                  }
          posted @ 2009-06-17 19:53 小末魚 閱讀(1757) | 評論 (0)編輯 收藏

          2009年6月28日

           

          關鍵字: J2ME,C#,Mobile,Wireless
          J2ME美好的write once,run anywhere的初衷,被各大手機廠商摧殘的體無完膚,變成write once,debug everywhere(或者write once, port everywhere)。
          在經歷了2,3年頭腦火熱期后,J2ME developers終于意識到一個統一的J2ME JVM implementation的重要性。貌似IBM開始了一個J2ME標準制訂的委員會,Sun也開始開源J2ME,希望不久的將來J2ME可以更加規范些。但各大手機廠商的態度很重要。看過太多的廠商口口聲聲說支持xxJSR標準,開放xx底層API,手機拿到手一看傻眼,JSR標準只支持一半,基本上無用。底層API只開放給自己的軟件用,其它人開放的程序,對不起,沒有permission。很多優秀的JSR,如PIM,MMS,等等,基本于我們無緣。模擬器里玩得很高潮,實際手機上一試,基本嗝屁!

          SavaJe給了J2ME一線希望。SavaJe是直接的Java OS,而不是寄存于手機kernel OS上的一層JVM layer。在今年的JavaOne上大出風頭。native執行J2ME程序的速度很快,也很酷。可惜沒有得到大手機廠商的支持,月前據說燒了1個多億的錢,目前運轉有困難,融資又融不到,前景叵測。可惜。

          Windows C#Compact Framework倒不同。只是因為MS壟斷,但看起來至少在mobile方面,這個壟斷挺好。
          Windows Mobile (以下簡稱WM)在企業級的應用上,和MS的幾個龍頭產品的整合非常好。特別是outlook的整合,很受商業人士的青睞。他們最關切的不是技術上的優勢和技術的領先程度,他們關心的是技術是否很好的為他們的商業發展服務。他們才不管MS的壟斷與否。事實上,他們更希望一個統一的開發平臺,所有的程序和數據可以很方便的整合。(雖然我是anti-MS,但他們商業應用上的優勢不可否認)。WM上的POOM(Pocket Outlook Object Model)很好的結合了Outlook中基本(但很重要的)功能。另外一個攝像頭的API,可以很方便的拍照片,視頻聊天,拍video等等,開發者不需要寫low level的攝像頭驅動程序(J2ME這點做得很不夠),直接調用攝像頭API的功能,可以更專注于商業邏輯的開發。
          posted @ 2009-06-28 15:59 小末魚 閱讀(245) | 評論 (1)編輯 收藏

          2009年6月17日

          //有保存對話框

          public void dgvToExcel(System.Windows.Forms.DataGridView datagridview, string SheetName)
                  {
                      
          int iRows = 0;
                      
          int iCols = 0;
                      
          int iTrueCols = 0;
                      Microsoft.Office.Interop.Excel.Application app 
          = new Microsoft.Office.Interop.Excel.Application();
                      Microsoft.Office.Interop.Excel.Workbook wb 
          = app.Workbooks.Add(System.Reflection.Missing.Value);
                      Microsoft.Office.Interop.Excel.Worksheet ws 
          = null;

                      
          if (wb.Worksheets.Count > 0)
                      {
                          ws 
          = (Microsoft.Office.Interop.Excel.Worksheet)wb.Worksheets.get_Item(1);
                      }
                      
          else
                      {
                          wb.Worksheets.Add(System.Reflection.Missing.Value, System.Reflection.Missing.Value, System.Reflection.Missing.Value, System.Reflection.Missing.Value);
                          ws 
          = (Microsoft.Office.Interop.Excel.Worksheet)wb.Worksheets.get_Item(1);
                      }
                      
          if (ws != null)
                      {
                          
          if (SheetName.Trim() != "")
                          {
                              ws.Name 
          = SheetName;
                          }
                          iRows 
          = datagridview.Rows.Count;      //加上列頭行
                          iTrueCols = datagridview.Columns.Count;   //包含隱藏的列,一共有多少列
                          
          //求列數,省略Visible = false的列
                          for (int i = 0; i < datagridview.Columns.Count; i++)
                          {
                              
          if (datagridview.Columns[i].Visible) iCols++;
                          }
                          
          string[,] dimArray = new string[iRows + 1, iCols];
                          
          for (int j = 0, k = 0; j < iTrueCols; j++)
                          {
                              
          //省略Visible = false的列
                              if (datagridview.Columns[j].Visible)
                              {
                                  dimArray[
          0, k] = datagridview.Columns[j].HeaderText;
                                  k
          ++;
                              }
                          }
                          
          for (int i = 0; i < iRows; i++)
                          {
                              
          for (int j = 0, k = 0; j < iTrueCols; j++)
                              {
                                  
          //省略Visible = false的列
                                  if (datagridview.Columns[j].Visible)
                                  {
                                      
          if (datagridview.Rows[i].Cells[j].Value != null)
                                      {
                                          dimArray[i 
          + 1, k] = datagridview.Rows[i].Cells[j].Value.ToString();
                                      }
                                      
          else
                                      {
                                          dimArray[i 
          + 1, k] = "";
                                      }
                                      k
          ++;
                                  }
                              }
                          }
                          ws.get_Range(ws.Cells[
          11], ws.Cells[iRows + 1, iCols]).Value2 = dimArray;
                          ws.get_Range(ws.Cells[
          11], ws.Cells[1, iCols]).Font.Bold = true;
                          ws.get_Range(ws.Cells[
          11], ws.Cells[iRows + 1, iCols]).Font.Size = 10.0;
                          ws.get_Range(ws.Cells[
          11], ws.Cells[iRows + 1, iCols]).RowHeight = 14.25;
                          
          //ws.Columns[.ColumnWidth = datagridview.Columns[0].Width;
                          for (int j = 0, k = 0; j < iTrueCols; j++)
                          {
                              
          //省略Visible = false的列
                              if (datagridview.Columns[j].Visible)
                              {
                                  ws.get_Range(ws.Cells[
          1, k + 1], ws.Cells[1, k + 1]).ColumnWidth = (datagridview.Columns[j].Width / 8.4> 255 ? 255 : (datagridview.Columns[j].Width / 8.4);
                                  
          //ws.Columns.c = datagridview.Columns[j].Width;
                                  k++;
                              }
                          }
                      }
                      app.Visible 
          = true;
                  }
          posted @ 2009-06-17 19:53 小末魚 閱讀(1757) | 評論 (0)編輯 收藏
          僅列出標題  
           
          主站蜘蛛池模板: 桓仁| 大竹县| 丰都县| 台州市| 凤翔县| 济源市| 保康县| 沙田区| 双鸭山市| 防城港市| 丰原市| 志丹县| 湘潭市| 和平县| 仙桃市| 周口市| 永春县| 华安县| 章丘市| 鞍山市| 棋牌| 德化县| 渭源县| 岐山县| 鄄城县| 女性| 黑水县| 四平市| 梁平县| 文化| 井研县| 安新县| 南涧| 建湖县| 荥经县| 大城县| 长乐市| 清丰县| 金川县| 英德市| 博罗县|