Excelシミュレータ(エリアコピー貼り付け機能)


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>   table input textarea   excel        </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="Robin.c">
<META NAME="Keywords" CONTENT="  excel">
<META NAME="Description" CONTENT="i love feiEr">
<style>
.tableNoArea {
 BORDER-RIGHT: #A52A2A 1px solid; 
 BORDER-LEFT: #A52A2A 1px solid; 
 BORDER-TOP: #A52A2A 1px solid; 
 border-Bottom : #A52A2A 1px solid; 
}
.tdNoArea {  
  BORDER-RIGHT: #A52A2A 1px solid; 
  BORDER-TOP: #A52A2A 1px solid; 
  BORDER-BOTTOM: #A52A2A 1px solid; 
  BORDER-LEFT: #A52A2A 1px solid; 
}
.table1 {
 BORDER-RIGHT: #A52A2A 1px solid; 
 BORDER-LEFT: #A52A2A 1px solid; 
 BORDER-TOP: #A52A2A 1px solid; 
 border-Bottom : #A52A2A 1px solid; 
}
.td1 {  
  BORDER-RIGHT: #A52A2A 1px solid; 
  BORDER-TOP: #A52A2A 1px solid; 
  BORDER-BOTTOM: #A52A2A 1px solid; 
  BORDER-LEFT: #A52A2A 1px solid;
  background-color:buttonface; 
}
.input_button{ 
 border-top:1px solid #A52A2A ;
 border-right:1px solid #A52A2A ;   
 border-bottom:1px solid #A52A2A ;
 border-left:1px solid #A52A2A ;
    background-color:#F0F8FF; 
}
.input_title{ 
 border-top:0px solid #A52A2A ;
 border-right:0px solid #A52A2A ;   
 border-bottom:0px solid #A52A2A ;
 border-left:0px solid #A52A2A ;
    background-color:buttonface; 
}
input{
 margin-bottom:0px;
 margin-left:0px;
 margin-right:0px;
 margin-top:0px;
 border-top:0px solid #A52A2A ;
 border-right:0px solid #A52A2A ;   
 border-bottom:0px solid #A52A2A ;
 border-left:0px solid #A52A2A ;
}
.input_on{ 
 margin-bottom:0px;
 margin-left:1px;
 margin-right:0px;
 margin-top:0px;
 border-top:0px solid #A52A2A ;
 border-right:0px solid #A52A2A ;   
 border-bottom:0px solid #A52A2A ;
 border-left:0px solid #A52A2A ;
    background-color:7CFC00; <!-- FFFFCC -->
}
.staCss{
 border-top:1px solid #A52A2A ;
 border-right:1px solid #A52A2A ;   
 border-bottom:1px solid #A52A2A ;
 border-left:1px solid #A52A2A ;
    background-color:#F0F8FF; 
 color:#000000;
}
</style>
<SCRIPT LANGUAGE="JavaScript">
<!--
var strT ="";  //        
var curObjId;  //     id
var tableName ="      ";//   
//     ,     ,             
var valueLeftArray =["  /  ", "  ", "  ","  ", "  ", "  ","   ", "  ", "   ","  ", "  "];
var valueTopArray =["   ", "   ","   ", "     ( )", "      ","  ", "  ", "   ","    ", "    "];//     
function $(id){ return( document.getElementById(id));}
//       
function opStaBar(value){
 $("staBar").innerText =value ;
}
//    
function createTableName(valueName)
{
 //$("staBar").innerText = "    --" + value ;
 if(valueName ==undefined){valueName="noName";}
 $("excelTil").innerHTML ="<center>" + valueName + "</center>";
}
//     
function createLeftHead(valueLeft)
{
 $("excelCon").innerHTML =" <TABLE style='border-collapse:collapse;table-layout:fixed;width:100%'><TR><TD class=\"td1\">" +valueLeft[0]+ "</TD></TR></TABLE>";
 var Temp ="<TABLE style='border-collapse:collapse;table-layout:fixed;width:100%'>";
 for(i=1;i<valueLeft.length;i++)
 {
  //alert(valueLeft.length );
  Temp += "<TR><TD class=\"td1\" width=\"148px\"><INPUT id=\"inputLeft" + i + "\" TYPE=\"text\" value=\"" + valueLeft[i] + "\" class=\"input_title\" readOnly=\"true\"></TD></TR>";
 }
 $("excelLeftHead").innerHTML =Temp +"</TABLE>";
}
//     
function createTopHead(valueTop)
{
 var Temp ="<TABLE style='border-collapse:collapse;table-layout:fixed;width:100%'><TR>";
 for(i=0;i<valueTop.length;i++)
 {
  Temp += "<TD class=\"td1\" id=\"tdTop" + (i+1) + "\" width=\"148px\">" +valueTop[i]+ "</TD>";
 }
 $("excelTopHead").innerHTML =Temp +"</TR></TABLE>";
}
//     ,id:  "  " id  row-col:        
function createTable(id,row,col)
{
 var strTable ="<table id=\"objTable\" class=\"tableNoArea\" style='border-collapse:collapse;table-layout:fixed;width:100%'>"; //   --   input       
 for(i=1; i<=row;i++)
 {
  strTable =strTable + "<tr id=\"TR" + i + "\" >"; //         id  :CEll_2_5        
  for(j=1;j<=col;j++)
  {
   strTable =strTable + "<td id=\"TD" + j + "\" class=\"tdNoArea\">" +  "<input TYPE=\"text\" name=\"DataArea\" id=\"CELL_" + i + "_"+ j + "\" onfocus=\"this.className='input_on'\" onblur=\"this.className='input';cellLostFocus(this);\" onclick =\"setCurCellId(this);\"></td>" ;
  }  
  strTable =strTable + "</tr>"; //    
 }
 $(id).innerHTML =strTable + "</table >"; //   
 
}
//      id   curObjId ,(            ,    )
function setCurCellId(ob)
{ 
 curObjId =ob.id
 setBgcolor(ob);
 opStaBar("        id :" + curObjId);
 
}
//               
function setBgcolor(ob)
{
 var curLoopRow =curObjId.split("_")[1]; //  
 var curLoopCol =curObjId.split("_")[2]; //  
 $("tdTop" + curLoopCol).style.backgroundColor='beige'; 
 $("inputLeft" + curLoopRow).style.backgroundColor='beige'; 
}
//         
function cellLostFocus(ob)
{
 //this.className='input';
 var curLoopRow =curObjId.split("_")[1]; //  
 var curLoopCol =curObjId.split("_")[2]; //  
 $("tdTop" + curLoopCol).style.backgroundColor='buttonface'; 
 $("inputLeft" + curLoopRow).style.backgroundColor='buttonface'; 
}
//           ,     DIV         
function fnBeforePaste()
{
 event.returnValue = false;
}
//   onpaste     returnValue       ,          
function fnPaste(id) 
{
 event.returnValue = false;
 $(id).innerText = window.clipboardData.getData("Text");
 strT =$(id).innerText;
 //alert($(id).innerText);
 fillToTable();   //  
}
//   
function fillToTable()
{   
 if(curObjId ==undefined)
   {
  alert("***        ,         ***");
  curObjId ="CEll_1_1";
   }
 var arrayTable, re, b, re2, rowCounter, colCounter ;  //     
 var re = /\r/g;      //              (  )
 var re2=/\t/g;      //               (   )
    arrayTable = strT.split(re);   //            
 rowCounter = arrayTable.length;  //    
 colCounter = arrayTable[0].split(re2).length; //    
 var curLoopRow =curObjId.split("_")[1]; //  
 for(i=1;i<=rowCounter;i++)
 {
  var curLoopCol =curObjId.split("_")[2]; //  
  
  //alert(curLoop +"  ");
  for(j=1;j<=colCounter;j++)
  {
   //alert(curLoop +"    ");
   var tempV =parseFloat(arrayTable[i-1].split(re2)[j-1]);
   if(isNaN(tempV)){tempV="";} //              
   try{
    $("CEll_" + curLoopRow +  "_" + curLoopCol).innerText = tempV; 
    throw "      ";
   }
   catch(e)
   {
    //alert(e);
    opStaBar("  :      .");
   }
   curLoopCol++;
  
  }
  curLoopRow++;
 }
 }
//         
function copyDate(row, col)
{
 var eles =document.getElementsByName("DataArea");
 var elesLength =eles.length;
 var str =""; 
 for(i=0;i<row;i++)
 {
  for(j=0;j<col;j++)
  {   
   str = str + eles[i.toString() + j.toString()].value + "\t";
  }
  str = str + "
"; } $('view').innerText =str; window.clipboardData.setData("Text",str); opStaBar(" ."); } //--> </SCRIPT> </HEAD> <BODY> Excel for by richeehill <br> <INPUT TYPE="button" class="input_button" value="1 " > <INPUT TYPE="button" class="input_button" value="2 " > <INPUT TYPE="button" class="input_button" value="3 " > <INPUT TYPE="button" class="input_button" value="4 " > <INPUT TYPE="button" class="input_button" value=" " > <INPUT TYPE="button" class="input_button" value=" " onclick="fnPaste('view')"> <INPUT TYPE="button" class="input_button" value=" " > <INPUT TYPE="button" class="input_button" value=" " onclick="createTableName(tableName);createLeftHead(valueLeftArray);createTopHead(valueTopArray);createTable('divDate',10,10);"> <hr> <!-- --> <DIV ALIGN="" class="staCss" id="excelTil" name="excelTil" STYLE="height=3%;width=100%;" > </DIV> <!-- --> <DIV ALIGN="" id="tableDiv" STYLE="overflow:scroll; height=60%;width=100%;"> <TABLE class="table1" > <TR> <TD id="excelCon"> <!-- --> </TD> <TD id="excelTopHead"><!-- --> </TD> </TR> <TR> <TD id="excelLeftHead"><!-- --> </TD> <TD><!-- --> <DIV ALIGN="" id="divDate"> </DIV> </TD> </TR> </TABLE> </DIV> <!-- --> <DIV ALIGN="" class="staCss" id="staBar" name="staBar" STYLE="height=1%;width=100%"> :</DIV> <TEXTAREA NAME="" ROWS="3" COLS="130" id="view" onbeforepaste="fnBeforePaste()" onpaste="fnPaste('view')"></TEXTAREA> </BODY> </HTML>

 Track: http://richeehill.blog.51cto.com/439699/90356